> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wayak.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Occupancy optimization

> Analyze vacancy patterns and market conditions to optimize pricing, marketing, and lease-up strategies

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

<CardGroup cols={2}>
  <Card title="Data sources" icon="database">
    * **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
  </Card>

  <Card title="Knowledge spaces" icon="book-open">
    * **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
  </Card>
</CardGroup>

**Semantic layer:** Define these in your ontology before setting up the agent.

| Component | Name                           | Definition                                                                                                                              |
| --------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| Object    | Unit                           | Maps to the `units` table in the property management system. Represents a rentable unit with type, square footage, and occupancy status |
| Object    | Comparable                     | Maps to `comparables` in the market data API. Represents a competing property with rent, vacancy, and amenity data                      |
| Metric    | Occupancy Rate                 | Percentage of total units that are occupied, measured at the property and portfolio level                                               |
| Metric    | Effective Rent per Square Foot | (Asking rent - concessions) / unit square footage, annualized                                                                           |
| Dimension | Unit Type                      | Classifies units by configuration (studio, 1BR, 2BR, 3BR, commercial, retail)                                                           |
| Dimension | Market                         | Groups properties by submarket or MSA for benchmarking                                                                                  |

<Tip>
  See [building a semantic layer](/quickstart/build-semantic-layer) for a step-by-step guide.
</Tip>

***

## Agent setup

<Steps>
  <Step title="Create the agent">
    Go to **Agent Space** → **New agent**.

    | Field    | Value                                                                                                                                            |
    | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
    | **Name** | Portfolio Analyst                                                                                                                                |
    | **Role** | Occupancy and Revenue Optimization Specialist                                                                                                    |
    | **Goal** | Analyze occupancy patterns, benchmark against market conditions, recommend pricing adjustments, and support leasing strategy decisions with data |
  </Step>

  <Step title="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.
  </Step>

  <Step title="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
  </Step>

  <Step title="Add skills">
    <AccordionGroup>
      <Accordion title="Vacancy analysis">
        **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.
      </Accordion>

      <Accordion title="Pricing recommendation">
        **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.
      </Accordion>

      <Accordion title="Marketing channel analysis">
        **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.
      </Accordion>
    </AccordionGroup>
  </Step>
</Steps>

***

## Automation

### Playbook: Weekly occupancy and pricing review

<Steps>
  <Step title="Set the trigger">
    Set the trigger to **Schedule — Weekly** on Tuesday at 7:00 AM, giving leasing teams updated recommendations for the week.
  </Step>

  <Step title="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.

    <Info>
      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.
    </Info>

    4. **Condition** — flag any unit where the recommended rent differs from the current asking rent by more than 5%.
    5. **Loop** — for each flagged unit, generate a brief pricing rationale with comparable support.
    6. **Delivery** — distribute the weekly occupancy and pricing report.
  </Step>

  <Step title="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
  </Step>

  <Step title="Test and activate">
    Click **Run now** to test with live data, then toggle to **Active**.
  </Step>
</Steps>

***

## What's next

<CardGroup cols={2}>
  <Card title="Property financial reporting" icon="arrow-right" href="/use-cases/real-estate/property-financial-reporting">
    Generate automated financial reports with variance analysis across your property portfolio.
  </Card>

  <Card title="All Real Estate use cases" icon="list" href="/use-cases/real-estate">
    See the full list.
  </Card>
</CardGroup>
