Skip to main content
Vacancy is the most direct drag on property income. Every unoccupied unit represents lost rent, ongoing carrying costs, and marketing expense. But optimizing occupancy requires more than just filling units — it requires pricing them correctly for the market, timing lease starts to avoid seasonal vacancy clusters, and directing marketing spend where it will have the most impact. When these decisions are made on instinct rather than data, the result is either underpriced units leaving money on the table or overpriced units sitting vacant too long. Wayak connects your property data with market intelligence and runs Python-based analysis in a playbook to produce actionable occupancy and pricing recommendations. An agent gives leasing teams immediate access to vacancy analysis, market comparables, and pricing scenarios so they can make faster, more informed decisions.

What you need

Data sources

  • Property management system — unit inventory, current occupancy status, lease start/end dates, asking rents, and concessions offered
  • Market data API — comparable property rents, vacancy rates, absorption trends, and new supply pipeline
  • Marketing platform — lead sources, listing views, tour conversion rates, and marketing spend by channel

Knowledge spaces

  • Pricing guidelines — upload your revenue management policies, including maximum discount thresholds, concession approval rules, and seasonal adjustment factors
  • Market research reports — upload quarterly market surveys, submarket analysis, and competitor positioning data
Semantic layer: Define these in your ontology before setting up the agent.
ComponentNameDefinition
ObjectUnitMaps to the units table in the property management system. Represents a rentable unit with type, square footage, and occupancy status
ObjectComparableMaps to comparables in the market data API. Represents a competing property with rent, vacancy, and amenity data
MetricOccupancy RatePercentage of total units that are occupied, measured at the property and portfolio level
MetricEffective Rent per Square Foot(Asking rent - concessions) / unit square footage, annualized
DimensionUnit TypeClassifies units by configuration (studio, 1BR, 2BR, 3BR, commercial, retail)
DimensionMarketGroups properties by submarket or MSA for benchmarking
See building a semantic layer for a step-by-step guide.

Agent setup

1

Create the agent

Go to Agent SpaceNew agent.
FieldValue
NamePortfolio Analyst
RoleOccupancy and Revenue Optimization Specialist
GoalAnalyze occupancy patterns, benchmark against market conditions, recommend pricing adjustments, and support leasing strategy decisions with data
2

Set the description

You are a portfolio analyst specializing in occupancy and revenue optimization for a multi-property real estate portfolio. You analyze vacancy trends, compare asking rents against market comparables, and identify pricing opportunities at the unit and property level. You evaluate marketing channel effectiveness and recommend budget allocations based on lead conversion data. You present recommendations with supporting market data and financial projections so decision-makers can act with confidence.
3

Scope data access

Grant access to:
  • Property management system (units, occupancy, leases, rents)
  • Market data API (comparables, vacancy rates, absorption)
  • Marketing platform (leads, conversions, marketing spend)
  • Pricing guidelines knowledge space
  • Market research reports knowledge space
  • Unit and Comparable objects, Occupancy Rate and Effective Rent per Square Foot metrics
4

Add skills

Trigger: User asks about current vacancy, occupancy trends, or exposure risk.
  1. Query the property management system for all units with their current occupancy status and lease expiration dates.
  2. Calculate the current occupancy rate and project 30/60/90-day vacancy exposure from upcoming expirations.
  3. Identify unit types and properties with the highest vacancy concentrations.
  4. Compare occupancy against the market vacancy rate from the market data API.
  5. Return a vacancy analysis with current occupancy, projected exposure, problem areas, and market context.
Trigger: User asks for a pricing recommendation for a specific unit, unit type, or property.
  1. Retrieve the unit details and current asking rent from the property management system.
  2. Pull comparable rents for similar units in the submarket from the market data API.
  3. Load the pricing guidelines from the knowledge space, including maximum discount and seasonal factors.
  4. Calculate the recommended rent range based on comparables, time on market, and seasonal adjustments.
  5. Estimate the revenue impact of pricing at the low, mid, and high end of the range.
  6. Return a pricing recommendation with the suggested rent, comparable support, revenue scenarios, and the applicable guideline reference.
Trigger: User asks about marketing effectiveness or where to spend the leasing budget.
  1. Pull lead volume, tour conversion rate, and lease conversion rate by marketing channel from the marketing platform.
  2. Calculate cost per lead and cost per lease for each channel.
  3. Identify the highest-performing and lowest-performing channels.
  4. Compare channel performance by property and unit type.
  5. Return a channel analysis with performance rankings, cost efficiency metrics, and reallocation recommendations.

Automation

Playbook: Weekly occupancy and pricing review

1

Set the trigger

Set the trigger to Schedule — Weekly on Tuesday at 7:00 AM, giving leasing teams updated recommendations for the week.
2

Build the workflow

The workflow analyzes occupancy and pricing across the portfolio and flags units needing attention:
  1. Query all units from the property management system with current occupancy status, asking rent, days on market, and lease expiration schedule.
  2. Query the market data API for current comparable rents, submarket vacancy rates, and absorption trends.
  3. Python code block — compute pricing recommendations for each vacant unit. The code compares the asking rent against the weighted average of comparable rents, applies a days-on-market decay factor (suggesting a reduction for units vacant longer than 30 days), and adjusts for seasonal demand patterns. It produces a recommended rent, a confidence score, and the estimated revenue impact of the adjustment.
The pricing optimization step uses a Python code block to compute market-adjusted rent recommendations with days-on-market decay and seasonal adjustments. You can customize the comparable weighting, decay rate, and seasonal factors.
  1. Condition — flag any unit where the recommended rent differs from the current asking rent by more than 5%.
  2. Loop — for each flagged unit, generate a brief pricing rationale with comparable support.
  3. Delivery — distribute the weekly occupancy and pricing report.
3

Configure delivery

  • Email — send each property manager their property’s occupancy summary, pricing recommendations, and flagged units
  • Slack — post a portfolio-wide occupancy snapshot to #leasing-ops with overall occupancy rate, week-over-week change, and the count of units with pricing flags
4

Test and activate

Click Run now to test with live data, then toggle to Active.

What’s next

Property financial reporting

Generate automated financial reports with variance analysis across your property portfolio.

All Real Estate use cases

See the full list.