---
name: KPI Analysis & Interpretation Expert
description: KPI analysis, dashboard interpretation, metric trends, variance explanation, benchmarking. "Explain this KPI", "why did NOI change", "analyze the dashboard", occupancy trend, revenue analysis, expense ratio, collections rate, RevPAL, same-store.
context: fork
agent: portfolio-performance-analyst
---

# KPI Analysis & Interpretation Expert

Comprehensive reference for analyzing, interpreting, and benchmarking Sunrise Communities portfolio KPIs. Covers metric definitions aligned with DATA_DICTIONARY.md, industry benchmarks from public REIT filings and MHI/Datacomp/JLT data, variance diagnosis frameworks, trend analysis methodology, and executive narrative templates.

**Source dates:** Industry benchmarks from Q3 2025 REIT earnings (SkyView Advisors), Sun Communities FY2025 10-K, Northmarq 2025 market research. Sunrise-specific thresholds from DATA_DICTIONARY.md v1.0 (2026-02-03). Review trigger: quarterly REIT earnings releases or DATA_DICTIONARY.md version change.

**Canonical code references:**
- Calculations: `rentmanager-mcp/calculations.py`
- Validation: `rentmanager-mcp/validation.py`
- Monthly export: `rentmanager-mcp/export_monthly_kpi_dashboard.py`
- Metric definitions: `Operations/data-pipeline-consolidation/DATA_DICTIONARY.md`
- Dashboard: `kpi.suncom.work`

---

## Table of Contents

1. [Sunrise KPI Framework](#sunrise-kpi-framework)
2. [Core KPIs Deep Dive](#core-kpis-deep-dive)
3. [Industry Benchmarks](#industry-benchmarks)
4. [Variance Analysis for KPIs](#variance-analysis-for-kpis)
5. [Property Performance Tiers](#property-performance-tiers)
6. [Trend Analysis Methodology](#trend-analysis-methodology)
7. [Peer Benchmarking](#peer-benchmarking)
8. [Leading vs Lagging Indicators](#leading-vs-lagging-indicators)
9. [Seasonal Patterns](#seasonal-patterns)
10. [Economic Correlations](#economic-correlations)
11. [Executive Narrative Templates](#executive-narrative-templates)
12. [Decision Trees](#decision-trees)
13. [Data Quality Checks](#data-quality-checks)
14. [Output Formats](#output-formats)
15. [References](#references)

---

## Sunrise KPI Framework

### Portfolio Scope Definitions

| Scope | Properties | Units | Use For |
|-------|-----------|-------|---------|
| **Scope A: MHP Only** | 19 communities | ~3,225 lots | Operational KPIs, IDS Scorecard, occupancy |
| **Scope B: Full Portfolio** | 24-26 properties | MHP + 5-7 parking | Fund-level reporting, total NOI, investor reports |

**Source of truth:** AM Reports property group (ID: 50) in RentManager. Scripts pull from this group, then filter by scope. Never hardcode property counts — they change with acquisitions.

**Properties NOT in reporting:** Lake Thomas Village (14 units) — excluded from all reporting.

### Metric Ownership Matrix

| Metric | Owner | Data Source | Update Frequency | Report |
|--------|-------|-------------|-----------------|--------|
| Physical Occupancy | Operations | Leases + Units API | Daily (dashboard), Monthly (KPI) | KPI Dashboard |
| Economic Occupancy | Finance | P&L Report 43 | Monthly | KPI Dashboard |
| Current Lot Rent | Finance | RecurringCharges API | Monthly | Rent Roll |
| Market Rent | Asset Management | MarketRents API (Report 72) | Monthly | Rent Roll |
| Loss-to-Lease | Asset Management | Calculated | Monthly | KPI Dashboard |
| NOI | Finance | P&L Report 43 | Monthly | KPI Dashboard |
| Delinquency Rate | Operations / Finance | Tenants API | Point-in-time | KPI Dashboard |
| Net Collection Rate | Finance | Charges API + P&L (Acct 4010-0005) | Monthly | Collections Report |
| Charge Resolution Rate | Finance | Charges API | Monthly | Collections Report |
| RevPAL | Asset Management | Calculated | Monthly | KPI Dashboard |
| Expense Ratio | Finance | P&L Report 43 | Monthly | KPI Dashboard |
| Same-Store NOI Growth | Finance | Calculated YoY | Monthly | Board Report |

### Unit Type Classifications (from calculations.py)

| Category | Unit Type IDs | In Occupancy? | In Rent Roll? |
|----------|---------------|--------------|---------------|
| **POH** (Park Owned Homes) | 77, 78, 79, 80, 84, 87, 103, 104, 117, 118 | Yes | Yes |
| **TOH** (Tenant Owned Homes) | 75, 96, 98, 99, 100, 105, 107 | Yes | Yes |
| **VAC** (Vacant/Excluded) | 69, 71, 81, 82, 86, 88, 97, 106, 107, 108, 116, 120 | No | No |

**Lot Rent Charge Types:** 66 (LR), 113 (RC), 140 (CnRent)
**Excluded from rent calculations:** 114 (MHRent), 122 (STRENT) — these are home rent, not lot rent.

---

## Core KPIs Deep Dive

### 1. Occupancy Metrics

#### Physical Occupancy Rate

**Definition:** Percentage of total leasable units with active leases.
**Formula:** `Occupied Units / Total Units x 100`
**Occupied Unit:** Lease where `MoveInDate <= today` AND (`MoveOutDate IS NULL` OR `MoveOutDate > today`)
**Total Units:** All units EXCLUDING unit types in `VAC_UNIT_TYPES`

| Threshold | Value | Action |
|-----------|-------|--------|
| Target | 93%+ | Maintain |
| Watch | 85-92% | Monitor trends, identify causes |
| Alert | <85% | Active intervention required |
| Cap | >100% | Cap at 100%, flag for data review |
| Floor | <50% | Flag for data review — likely data error |

**Interpretation guide:**
- MoM change should not exceed +/-5% without explanation. If it does, check for (a) bulk move-out coding, (b) unit type reclassification, or (c) property acquisition/disposition.
- Physical occupancy alone does not tell you about revenue quality. A property at 95% physical occupancy with 40% LTL is underperforming a property at 90% with 5% LTL.
- For value-add acquisitions, expect physical occupancy to dip 2-5% during the first 6-12 months as problem tenants are addressed and rents are raised.

#### Economic Occupancy Rate

**Definition:** Actual revenue collected as a percentage of gross potential rent.
**Formula:** `Actual Rent Collected / (Total Units x Market Rent) x 100`

| Threshold | Value | Interpretation |
|-----------|-------|----------------|
| Target | 90%+ | Strong revenue capture |
| Watch | 80-89% | Significant leakage — diagnose source |
| Alert | <80% | Major revenue loss from vacancies, concessions, or delinquency |

**Diagnostic matrix — Physical vs Economic occupancy gap:**

| Scenario | Physical Occ | Economic Occ | Primary Driver | Action |
|----------|-------------|-------------|----------------|--------|
| Healthy | 93%+ | 90%+ | Strong on both | Maintain |
| Delinquency drag | 93%+ | <88% | Tenants occupying but not paying | Collections focus, eviction review |
| Concession heavy | 93%+ | <88% | Below-market rents, move-in specials | Review concession strategy |
| High LTL | 93%+ | 85-90% | Rents significantly below market | Accelerate rent increase schedule |
| Vacancy problem | <85% | <80% | Not enough occupied units | Marketing, infill, home placement |
| Mixed issues | <90% | <82% | Both vacancy and collections | Property prescription needed |

#### Financial Occupancy (Supplemental)

**Definition:** Revenue actually received divided by revenue that would be received if all units were occupied at current in-place rents.
**Formula:** `Actual Revenue / (Occupied Units x Average In-Place Rent) x 100`

This metric isolates collection efficiency from the LTL question. Use it when you want to separate "are we collecting what we bill?" from "are we billing enough?"

#### Lot Turnover Rate

**Definition:** Annualized rate of move-outs relative to average occupied units.
**Formula:** `(Move-Outs in Period / Avg Occupied Units) x (12 / Months in Period) x 100`

| Threshold | Value | Interpretation |
|-----------|-------|----------------|
| Target | <10%/yr | Healthy retention |
| Watch | 10-15%/yr | Investigate causes |
| Alert | >15%/yr | Serious retention problem — management, rent, or community issue |

MHP turnover is structurally lower than apartment turnover because moving a manufactured home is expensive ($5,000-$15,000). Elevated turnover in TOH segments signals either (a) rent increases perceived as excessive, (b) community quality issues, or (c) residents selling homes and new buyers choosing not to stay.

---

### 2. Revenue Metrics

#### Current Lot Rent (Monthly)

**Definition:** Sum of monthly lot rent charges for occupied units.
**Formula:** `SUM(RecurringCharges.Amount WHERE ChargeTypeID IN {66, 113, 140})`
**Excludes:** Home rent (114, 122), utilities, late fees, application fees.

This is the core revenue stream. For Sunrise's value-add model, growing this number through loss-to-lease recapture is the primary driver of forced appreciation.

#### Market Rent

**Definition:** Target rent for each unit based on market analysis, set by Asset Management.
**Formula:** `SUM(MarketRents.MarketRent)` from Report 72.

**Staleness risk:** If market rents are not updated at least annually, LTL calculations become misleading. Check the `MarketRentEffectiveDate` — if older than 12 months, flag as stale. Stale market rents understate true LTL and create false confidence in rent positioning.

#### Loss-to-Lease (LTL)

**Definition:** Monthly revenue gap between current rents and market rents.
**Formula:** `Market Rent - Current Rent` (monthly dollars)
**LTL %:** `(Market Rent - Current Rent) / Market Rent x 100`

| LTL % | Interpretation | Strategy |
|-------|----------------|----------|
| 0-10% | Near market | Maintain with annual increases matching market |
| 10-20% | Moderate upside | Standard rent increase program, 2-3 year runway |
| 20-35% | Significant upside | Aggressive but measured increases, key value-add driver |
| 35-50% | Major recapture opportunity | Typical of recent acquisitions; plan 3-5 year ramp |
| >50% | Extreme gap | Usually post-acquisition; validate market rent accuracy |

**LTL Recapture Rate:** The percentage of the LTL gap closed annually.
**Formula:** `(Prior Year LTL - Current Year LTL) / Prior Year LTL x 100`
**Target:** 15-20% per year (implies 3-5 year full recapture)
**Alert:** <10% per year — not capturing value-add thesis fast enough.

**Practical example:**
- Market rent: $450/lot/month
- Current rent: $315/lot/month
- LTL: $135/lot/month (30% LTL)
- At 15% recapture: close ~$20/lot/year
- Full recapture in ~7 years at that pace
- At 20% recapture: close ~$27/lot/year
- Full recapture in ~5 years

#### Revenue Per Available Lot (RevPAL)

**Definition:** Total lot rent revenue divided by total available lots (occupied and vacant).
**Formula:** `Total Lot Rent / Total Lots (excluding VAC unit types)`

RevPAL is the MHP equivalent of RevPAR in hospitality. It normalizes revenue across properties of different sizes and occupancy levels. A property with 90% occupancy at $500/lot has RevPAL of $450. A property with 95% occupancy at $400/lot has RevPAL of $380. RevPAL reveals which property is generating more revenue per unit of capacity.

**Use RevPAL to:**
- Compare properties of different sizes on a per-unit basis
- Track revenue growth that captures both rate and occupancy effects
- Benchmark against industry averages (see Industry Benchmarks section)
- Identify underperforming assets where both occupancy and rate are below potential

#### Same-Store Revenue Growth

**Definition:** Year-over-year revenue growth for properties in the same-store pool.
**Formula:** `(Current Period Revenue - Same Period Prior Year) / Same Period Prior Year x 100`

| Threshold | Value | Assessment |
|-----------|-------|------------|
| Target | 5%+ | Aligned with 2026 Rock (5% Same-Store NOI growth) |
| Acceptable | 3-5% | On track but monitor |
| Below target | <3% | Investigate — rent increase timing, occupancy loss, or concessions |

---

### 3. NOI Metrics

#### Net Operating Income (NOI)

**Definition:** Operating income minus operating expenses.
**Formula:** `Total Operating Income - Total Operating Expenses`
**Data source:** P&L Report 43
**Income accounts:** 4000-series (Rental), 4200-series (Parking/Other)
**Expense accounts:** 5000-series, 6000-series, 7000-series (Operating)

**NOI does NOT include:** Debt service, capital expenditures, depreciation, amortization, management fees above the line, or income taxes. It represents the property's operating cash flow before financing and capital decisions.

#### NOI Margin

**Definition:** NOI as a percentage of total operating income.
**Formula:** `NOI / Total Operating Income x 100`

| NOI Margin | Interpretation | Context |
|------------|----------------|---------|
| 65-75% | Excellent | Top-tier land-lease MHP with low POH |
| 55-65% | Good | Typical well-managed MHP |
| 45-55% | Acceptable | Higher POH ratio or smaller properties |
| 35-45% | Below average | Expense management issues or high POH maintenance |
| <35% | Needs intervention | Structural cost problems |

**POH impact on margins:** Each POH unit adds both revenue (home rent) and expenses (maintenance, insurance, turnover). A portfolio with 30%+ POH will typically have NOI margins 10-15 percentage points lower than a pure land-lease portfolio. When comparing properties, always note the POH/TOH mix.

#### Same-Store NOI Growth

**Definition:** Year-over-year NOI growth for properties in the same-store pool.
**Formula:** `(Current Period NOI - Same Period Prior Year NOI) / Same Period Prior Year NOI x 100`
**2026 Target:** 5% YoY (Q1 2026 Rock)

**Decomposition:** Same-store NOI growth comes from three levers:
1. **Revenue growth** (rent increases + occupancy gains) — the primary lever
2. **Expense control** (holding costs flat or below inflation) — the defensive lever
3. **Mix shift** (converting POH to TOH, reducing high-cost units) — the structural lever

**Industry context (Q3 2025 REIT benchmarks):**
- Sun Communities: 10.1% same-property MH NOI growth
- UMH Properties: 12.1% same-property NOI growth
- ELS: 5.3% same-property NOI growth

Sunrise's 5% target is conservative relative to REIT performance but appropriate for a private operator in active value-add mode with a different cost structure.

#### Expense Ratio

**Definition:** Operating expenses as a percentage of operating income.
**Formula:** `Operating Expenses / Operating Income x 100`
**Relationship:** Expense Ratio = 100% - NOI Margin

| Expense Ratio | Interpretation |
|---------------|----------------|
| 25-35% | Excellent — typical of large, stabilized land-lease communities |
| 35-45% | Good — well-managed MHP |
| 45-55% | Acceptable — smaller properties or higher POH |
| >55% | Alert — investigate controllable expense categories |

**Major expense categories to monitor:**
- Real estate taxes (often 15-25% of total OpEx, limited control)
- Insurance (rising rapidly in coastal/weather-prone markets)
- Utilities (if master-metered; sub-metering shifts cost to residents)
- Payroll and management (typically 15-20% of OpEx)
- Repairs and maintenance (10-15% of OpEx; higher with POH)

---

### 4. Collections Metrics

#### Total Charges Billed vs Total Charges Allocated

**Critical distinction (from DATA_DICTIONARY.md):**
- **Total Charges Billed:** ALL charges posted to tenant accounts (lot rent, home rent, utilities, late fees, everything).
- **Total Charges Allocated:** Charges resolved via payment OR credit (including write-offs).
- **WARNING:** `AmountAllocated` includes both cash payments AND credits (bad debt write-offs). This metric shows charge resolution, not pure cash collection.

#### Charge Resolution Rate

**Definition:** Percentage of billed charges that have been resolved (by payment or credit).
**Formula:** `Total Charges Allocated / Total Charges Billed x 100`
**Target:** >97%

This metric answers: "Of everything we billed, how much has been addressed?" A high resolution rate with high write-offs is a red flag — it means charges are being resolved but not through actual cash collection.

#### Net Collection Rate (PRIMARY CASH METRIC)

**Definition:** True cash collected as a percentage of total billed, backing out bad debt.
**Formula:** `(Total Charges Allocated - Bad Debt Write-offs) / Total Charges Billed x 100`
**Bad debt source:** P&L Account 4010-0005
**Target:** >95.5%

| Net Collection Rate | Interpretation | Action |
|--------------------|----------------|--------|
| >98% | Excellent | Maintain current practices |
| 95-98% | Good | Normal operations |
| 92-95% | Watch | Review delinquency procedures, increase follow-up frequency |
| 88-92% | Alert | Implement aggressive collections program, review eviction pipeline |
| <88% | Critical | Management review required, possible staffing changes |

**Diagnostic: Resolution Rate vs Net Collection Rate gap:**
- Resolution 98%, Net Collection 96% = 2% write-offs (normal)
- Resolution 98%, Net Collection 90% = 8% write-offs (excessive bad debt)
- Resolution 90%, Net Collection 88% = charges not being addressed at all

#### Delinquency Rate

**Definition:** Past-due balance as a percentage of monthly rent.
**Formula:** `Total Delinquent Balance / Current Monthly Rent x 100`
**Delinquent:** `Tenants.Balance > 0 AND Status = 'Current'`

| Threshold | Value | Status |
|-----------|-------|--------|
| Green | <8% | Healthy |
| Yellow | 8-12% | Needs attention |
| Red | >12% | Active intervention |
| Alert | >20% | Data validation required — verify accuracy |

**Aging analysis matters more than the rate alone:**
- 0-30 days past due: Normal cycle, most will resolve
- 31-60 days: Requires active follow-up, escalate to manager
- 61-90 days: Begin eviction evaluation, document all communications
- 90+ days: Management decision — evict, payment plan, or write-off

**High delinquency + low write-offs = accumulating bad debt.** This is worse than high delinquency with timely write-offs because it inflates the balance sheet and masks the true collection problem.

#### Bad Debt Ratio

**Definition:** Write-offs as a percentage of revenue.
**Formula:** `Bad Debt Write-offs / Total Revenue x 100`

| Threshold | Value | Interpretation |
|-----------|-------|----------------|
| Target | <1% | Well-managed collections |
| Watch | 1-2% | Monitor — may indicate systemic issue |
| Alert | >2% | Review tenant screening and collections process |

---

## Industry Benchmarks

### REIT Comparable Metrics (Q3 2025)

The three public MH REITs provide the most reliable industry benchmarks. Their scale differs from Sunrise, but their metrics set the performance ceiling.

#### Occupancy Benchmarks

| REIT | Same-Store Occupancy | YoY Change | Avg Rent/Site |
|------|---------------------|------------|---------------|
| **Sun Communities (SUI)** | 98.0% | +0.7% | $737/mo |
| **Equity LifeStyle (ELS)** | 94.3% | -0.7% | $912/mo |
| **UMH Properties (UMH)** | 88.5% | +0.8% | $565/mo |
| **National Average** | ~94.9% | +0.1% | $500-$700/mo |

**Context for Sunrise:** UMH is the closest peer operationally — value-add strategy, mid-market rents, active acquisitions of lower-occupancy communities. Sun and ELS represent stabilized, institutional portfolios. Sunrise's occupancy target of 93%+ is realistic and aligns with UMH's trajectory.

#### NOI Growth Benchmarks

| REIT | Same-Store NOI Growth (Q3 2025) | Full Year 2025 | 2024 |
|------|--------------------------------|----------------|------|
| **Sun Communities** | 10.1% | 8.9% (MH segment) | 5.3% |
| **UMH Properties** | 12.1% | 10.1% (YTD) | 7.4% |
| **ELS** | 5.3% | 4.8% | 5.8% |
| **Sunrise Target** | — | — | **5% (2026 Rock)** |

**Interpretation:** The REIT benchmarks demonstrate that 5-10% same-store NOI growth is achievable in the current environment. Sunrise's 5% target is deliberately conservative, reflecting the operational complexity of smaller-scale value-add operations. Exceeding this target would place Sunrise in strong company.

#### Expense Ratio Benchmarks

| REIT | OpEx Ratio (2025) | YoY Change | Driver |
|------|-------------------|------------|--------|
| **UMH Properties** | 39.7% | -1.4% | Operational efficiency gains |
| **Sun Communities** | ~35% (est.) | -2.0% | Scale efficiencies, flat expense growth |
| **ELS** | ~32% (est.) | -0.5% | Highest rents dilute expense ratio |

**Sunrise context:** Smaller operators typically run 40-55% expense ratios depending on POH mix. Sunrise should benchmark internally against its own trailing 12-month trend rather than against REIT ratios that benefit from 50,000+ unit scale.

#### Rent Per Site Benchmarks

| REIT | Avg Rent/Site (Q3 2025) | YoY Growth |
|------|------------------------|------------|
| **ELS** | $912/mo | 5.5% |
| **Sun Communities** | $737/mo | 5.2% |
| **UMH Properties** | $565/mo | 5.2% |
| **National Average** | $500-$700/mo | ~7.1% |

**Forward guidance (2026):** Sun and ELS both issued 2026 rent increase notices averaging ~5% to approximately 50% of residents. Core MH base rent growth projected at 4.9-5.9% industry-wide for 2026.

### Datacomp / JLT Market Reports

JLT Market Reports from Datacomp have been the industry standard for MHP market analysis for 20+ years. They cover 189 markets with historical rent and occupancy data from 1996 to present.

**Use JLT data for:**
- Comp rent surveys for specific markets where Sunrise operates
- Validating market rent assumptions in underwriting
- Supporting rent increase justifications with market data
- Tracking competitive positioning within specific MSAs

**Limitation:** JLT reports focus on "investment-grade" communities (typically 100+ lots, institutional quality), which may not perfectly match all Sunrise properties. Smaller, rural communities may trade at lower rents than JLT averages for the same market.

**Access:** Reports available at reports.datacompusa.com, updated monthly by state/market.

### MHI (Manufactured Housing Institute) Data

MHI provides national shipment data, industry lobbying updates, and broad market statistics. Their data is less granular than JLT for individual community benchmarking but useful for macro trend context:
- National MH shipment trends (leading indicator for infill supply)
- Regulatory landscape updates (rent control, titling laws)
- Demographic trends in MH demand

### Cap Rate Benchmarks (2025)

| Tier | Cap Rate Range | Property Type |
|------|---------------|---------------|
| **Institutional/Premium** | 4.0-5.0% | 200+ lots, 95%+ occupancy, top markets |
| **Core** | 5.0-6.0% | 100+ lots, 90%+ occupancy, good markets |
| **Value-Add** | 6.0-7.5% | Below-market rents, occupancy upside |
| **Opportunistic** | 7.5-11.0% | Significant deferred maintenance, low occupancy |
| **Average (2025)** | 5.9% | Down ~40bps from Q4 2024 |

**Median price per space (2025):** $45,500, down 11% YoY but tracking 2021 levels.

---

## Variance Analysis for KPIs

### Step 1: Quantify the Variance

```
Current Period:  $X
Prior Period:    $Y
Variance:        $Z (X - Y)
% Change:        ((X - Y) / |Y|) x 100
Annualized:      Monthly variance x 12 (for run-rate impact)
```

Always present both absolute dollars AND percentage. A $5,000 variance is noise on a $500,000 line item (1%) but material on a $25,000 line item (20%).

### Step 2: Classify the Variance

| Category | Description | Examples | Persistence |
|----------|-------------|----------|-------------|
| **Volume** | Changes in quantity (units, tenants) | Move-ins/outs, acquisitions, dispositions | Usually persistent |
| **Rate** | Changes in price per unit | Rent increases, fee changes | Persistent (resets annually) |
| **Mix** | Composition changes | POH-to-TOH conversions, property additions | Structural |
| **Timing** | Charges in wrong period | Late billing, prepayments, accrual adjustments | Self-correcting |
| **One-time** | Non-recurring items | Insurance claims, legal settlements, grants | Not persistent |
| **Seasonal** | Expected cyclical pattern | Winter utilities, summer maintenance | Recurring, predictable |
| **External** | Outside management control | Tax reassessment, regulation, weather events | Varies |

### Step 3: Decompose NOI Variance (from calculations.py)

The canonical NOI variance decomposition uses four drivers:

1. **Rate Effect** = (Current Avg Rent - Prior Avg Rent) x Prior Occupied Units
   - Isolates the impact of rent increases holding occupancy constant
2. **Volume Effect** = (Current Occupied Units - Prior Occupied Units) x Prior Avg Rent
   - Isolates the impact of occupancy changes holding rent constant
3. **Expense Effect** = Prior Expenses - Current Expenses (inverted for NOI impact)
   - Lower expenses = favorable for NOI
4. **Other Income Effect** = Residual after rate, volume, and expense effects
   - Captures utility pass-throughs, late fees, application fees, misc income

**Materiality thresholds for explanation (from DATA_DICTIONARY.md):**

| Trigger | Threshold | Escalate To |
|---------|-----------|-------------|
| Single line item variance | >$5,000 | Mike (Controller) |
| Single line item variance | >$25,000 | Sam (CFO) |
| Total reconciling items | >$50,000 | Sam (CFO) |
| P&L vs Rent gap | >20% | Mike (Controller) |
| NOI MoM change | >15% | Written explanation required |

### Step 4: Assess Persistence and Impact

| Question | If Yes | If No |
|----------|--------|-------|
| Will this variance repeat next month? | Update forecast | Note as one-time |
| Does this affect our annual NOI target? | Quantify annual impact | Monitor only |
| Is this within management's control? | Assign action owner | Document external cause |
| Does this change our property tier rating? | Update property prescription | No tier change needed |

### Step 5: Generate Narrative (use generate_variance_narrative() from calculations.py)

**Template:**
```
[Metric]: [Favorable/Unfavorable] variance of $[amount] ([percentage]%)
vs [Prior Period] for [Scope]

Driver: [Primary driver description]
[2-3 sentences explaining the business reason]

Outlook: [One-time | Expected to continue | Seasonal | Improving | Deteriorating]
Action: [None required | Monitor | Investigate further | Update forecast]
```

---

## Property Performance Tiers

### Tier Definitions

| Tier | Criteria | Expected Count | Management Approach |
|------|----------|----------------|---------------------|
| **A — Star** | Occupancy 95%+, NOI Margin 60%+, LTL <15% | 3-5 properties | Protect and grow; focus on expense control |
| **B — Solid** | Occupancy 88-94%, NOI Margin 50-60%, LTL 15-30% | 6-10 properties | Steady improvement; standard rent increase program |
| **C — Watch** | Occupancy 78-87%, NOI Margin 40-50%, LTL 30-45% | 3-5 properties | Active oversight; property prescription required |
| **D — Turnaround** | Occupancy <78% OR NOI Margin <40% OR delinquency >15% | 1-3 properties | Intensive management; monthly review cadence |

### Tier Assignment Rules

1. **Primary criterion:** Occupancy rate (most weight)
2. **Secondary criterion:** NOI margin
3. **Override triggers:** Any single RED metric forces downgrade by one tier
4. **Acquisition grace period:** New acquisitions start at Tier C minimum for first 12 months regardless of metrics (value-add thesis assumes improvement trajectory)
5. **Re-tiering frequency:** Quarterly, after month-end close

### Tier-Specific Action Plans

**Tier A — Protect**
- Annual rent increases at or slightly above market (3-5%)
- Minimize capital expenditures to maintenance level
- Focus on resident satisfaction to protect occupancy
- Use as model for property-level best practices

**Tier B — Grow**
- Accelerate rent increases (5-8% annually)
- Invest in targeted capital improvements that support rent increases
- Pursue infill opportunities (home placement on vacant lots)
- Monthly manager check-ins

**Tier C — Prescribe**
- Develop written property prescription with 90-day goals
- Biweekly manager reviews
- Evaluate management effectiveness
- Capital investment only if clear ROI path within 24 months

**Tier D — Turnaround**
- Weekly management reviews
- Consider management change if no improvement in 90 days
- Evaluate disposition if no improvement path within 12 months
- Capital investment frozen until occupancy stabilizes above 80%

### Cross-Reference with Probability Engine Clusters

| Cluster | Description | Tier Implication |
|---------|-------------|-----------------|
| **Resilient** | Occupancy UP when economy DOWN | More aggressive rent increases sustainable |
| **Sensitive** | Occupancy DOWN when economy DOWN | Conservative rent strategy, focus on retention |
| **Neutral** | Not economically correlated | Standard approach based on tier |

---

## Trend Analysis Methodology

### Distinguishing Signal from Noise

**The core problem:** Monthly KPI data contains both genuine trends and random fluctuation. A single month of NOI decline does not necessarily indicate a problem. Three consecutive months of decline almost certainly does.

#### Statistical Significance Tests

**1. Two-Standard-Deviation Rule**
Calculate trailing 12-month mean and standard deviation for each metric. A single-month reading more than 2 standard deviations from the mean is statistically noteworthy (occurs <5% of the time by chance).

```
Mean(trailing 12 months) = M
StdDev(trailing 12 months) = S
Upper bound = M + 2S
Lower bound = M - 2S
Current value outside bounds = Investigate
```

**2. Three-Month Consecutive Direction Test**
Three consecutive months of change in the same direction (up or down) has only a 12.5% probability of occurring by chance (0.5^3 = 0.125). This is the minimum threshold for calling a "trend."

| Consecutive Months | Probability by Chance | Classification |
|-------------------|----------------------|----------------|
| 1 month | 50% | Noise — do not react |
| 2 months | 25% | Possible signal — monitor |
| 3 months | 12.5% | Likely trend — investigate |
| 4+ months | <6.25% | Confirmed trend — act |

**3. Year-Over-Year Comparison**
Always compare same month to prior year same month, not just sequential months. This automatically controls for seasonality.

#### Moving Averages

**3-Month Moving Average (3MMA):** Smooths short-term noise. Good for identifying quarter-over-quarter momentum shifts. Responsive but still noisy.

**6-Month Moving Average (6MMA):** The primary trend indicator. A 6MMA crossing above or below a threshold is a reliable signal. Balances responsiveness with stability.

**12-Month Moving Average (12MMA):** Shows the underlying annual trend. Useful for board-level reporting and long-term strategic assessments. Slow to react but highly reliable.

**Application to Sunrise KPIs:**

| Metric | Use 3MMA For | Use 6MMA For | Use 12MMA For |
|--------|-------------|-------------|---------------|
| Occupancy | Monthly operational decisions | Tier re-evaluation | Strategic capacity planning |
| NOI | Quarterly budget reviews | Same-store growth tracking | Investor reporting |
| Delinquency | Collections focus | Process evaluation | Staffing decisions |
| RevPAL | Not useful (too noisy) | Revenue growth assessment | Market positioning |

#### Rate of Change Analysis

Beyond the level of a metric, track its rate of change (first derivative). A metric that is above target but declining is more concerning than a metric that is below target but improving.

```
Rate of Change = (Current - Prior) / Prior x 100
Acceleration = Current Rate of Change - Prior Rate of Change
```

**Acceleration signals:**
- Positive and accelerating = Strong improvement, consider raising targets
- Positive but decelerating = Improvement slowing, investigate constraints
- Negative but decelerating = Deterioration slowing, stabilization likely
- Negative and accelerating = Worsening fast, immediate intervention required

---

## Peer Benchmarking

### Internal Benchmarking: Property-to-Property

**Normalization requirements:** Properties differ in size, age, POH mix, geography, and acquisition vintage. Raw metric comparisons are misleading without normalization.

**Normalization factors:**

| Factor | Adjustment | Why |
|--------|-----------|-----|
| **Property size** | Use per-lot metrics (RevPAL, NOI/lot, expense/lot) | 50-lot community vs 300-lot community |
| **POH ratio** | Segment by POH% (<10%, 10-30%, >30%) | POH adds revenue AND cost |
| **Acquisition vintage** | Group by years owned (0-2, 2-5, 5+) | Newer acquisitions in value-add mode |
| **Geography** | Group by state/region | Tax rates, utility costs, labor markets differ |
| **Seasonality** | Compare same month across properties | Some markets more seasonal than others |

**Peer group construction:**
1. Group properties by 2-3 normalization factors (e.g., "Midwest, 100+ lots, >5 years owned")
2. Calculate group median and quartiles for each KPI
3. Identify outliers (below 25th percentile = underperforming peers)
4. Investigate outlier causes before concluding underperformance

### External Benchmarking: Portfolio-to-Industry

**Benchmark hierarchy (most to least relevant):**

1. **JLT/Datacomp local market data** — Same geography, same property type
2. **UMH Properties metrics** — Most similar operating model (value-add, mid-market)
3. **REIT composite average** — Industry standard performance
4. **National MHI/Census data** — Broadest context

**Normalization for external benchmarks:**
- REIT expense ratios benefit from scale (50,000+ units) — add 5-10% to REIT benchmarks when comparing to Sunrise
- REIT occupancy includes stabilized assets only (typically >12 months owned) — exclude recent acquisitions from Sunrise comparisons
- National averages include all quality tiers — Sunrise should benchmark against "investment-grade" community data

### Same-Store Pool Governance

**Definition:** The same-store pool includes properties that have been owned and operated for the full comparison period (both current and prior year). This ensures apples-to-apples YoY comparisons.

**Inclusion criteria:**
1. Property must have been owned for the entirety of both the current and prior comparison periods
2. Property must not have undergone a major redevelopment (>20% of units offline)
3. Property must have been in normal operating condition (not under insurance claim disruption)

**Exclusion triggers:**
- Acquisition within the past 12 months (property enters same-store pool after 12 full months of ownership)
- Disposition during either comparison period
- Force majeure events that rendered >20% of units uninhabitable
- Major redevelopment or expansion projects

**REIT precedent:** Sun Communities defines same-property as communities owned and operated throughout both comparison periods, excluding revenues/expenses from home sales, service, retail, dining, and entertainment. They also net utility revenues against utility expenses.

**Restatement policy:** If a property exits the same-store pool (e.g., due to disposition), prior-period same-store totals should be restated to exclude that property. This prevents a "survivor bias" where dispositions of underperformers artificially inflate same-store growth.

**Sunrise implementation:**
- Sam (CFO) approves same-store pool composition quarterly
- Pool changes documented with rationale
- Both "with" and "without" new acquisitions views available on KPI Dashboard
- Same-store NOI growth is the metric reported against the 5% annual Rock

---

## Leading vs Lagging Indicators

### Indicator Classification

| Indicator | Type | Signal Horizon | Why It Matters |
|-----------|------|---------------|----------------|
| **Inquiry volume** (calls, web leads) | Leading | 30-60 days ahead | Predicts future move-ins |
| **Application pipeline** | Leading | 15-30 days ahead | Near-term occupancy gain |
| **Move-out notices** | Leading | 30-60 days ahead | Early warning of occupancy loss |
| **Market rent gap** (LTL) | Leading | 6-12 months ahead | Revenue growth potential |
| **Maintenance request volume** | Leading | 60-90 days ahead | Resident satisfaction proxy |
| **Work order completion time** | Leading | 30-60 days ahead | Service quality, retention risk |
| **Rent increase notices issued** | Leading | 30-90 days ahead | Upcoming revenue growth |
| **Delinquency rate** | Coincident | Current period | Collections health right now |
| **Occupancy rate** | Lagging | Reflects past 30-60 days | Result of prior marketing/retention efforts |
| **NOI** | Lagging | Reflects past 30-60 days | Financial outcome of prior decisions |
| **Same-store NOI growth** | Lagging | Reflects trailing 12 months | Strategic scorecard metric |
| **Turnover rate** | Lagging | Reflects past 60-90 days | Result of prior management/pricing decisions |
| **Bad debt ratio** | Lagging | Reflects past 90+ days | Result of prior collections/screening decisions |

### Early Warning System

**Level 1 — Watch (1-2 indicators flashing):**
- Inquiry volume declining for 2+ consecutive months
- Move-out notices above seasonal norm

**Level 2 — Alert (3-4 indicators flashing):**
- Inquiry volume declining + delinquency rising + occupancy below prior year
- Action: Property manager meeting, root cause analysis

**Level 3 — Intervention (5+ indicators flashing or any leading indicator >2 standard deviations from mean):**
- Multiple leading indicators deteriorating simultaneously
- Action: Property prescription, consider management changes, Sam/Carlos review

### Balanced Scorecard for MHP (adapted)

| Perspective | KPIs | Weight | Target |
|------------|------|--------|--------|
| **Financial** | NOI, NOI Margin, Same-Store Growth, RevPAL | 40% | 5% SS NOI growth, 55%+ margin |
| **Resident** | Occupancy, Turnover, Delinquency, Satisfaction | 25% | 93%+ occ, <10% turnover, <8% delinq |
| **Operations** | Expense Ratio, Work Order Time, Collections Rate | 20% | <45% expense ratio, >95.5% net collection |
| **Growth** | LTL Recapture, Infill Rate, Applications Pipeline | 15% | 15%+ LTL recapture, positive net absorption |

---

## Seasonal Patterns

### Monthly Expectations with Quantified Norms

| Month | Occupancy Pattern | Revenue Pattern | Expense Pattern | Collections Pattern |
|-------|-------------------|----------------|-----------------|---------------------|
| **Jan** | Flat to -0.3% MoM | Annual rent increases take effect (check timing) | Heating costs peak in northern markets | Holiday hangover: delinquency spikes 1-2% above annual avg |
| **Feb** | Flat; lowest move activity | Rent increase revenue appears fully | Utilities still elevated; shortest month | Delinquency starts normalizing |
| **Mar** | +0.2-0.5% MoM; spring season begins | Growing; seasonal utilities declining | Maintenance season begins | Improving; tax refund season helps collections |
| **Apr** | +0.3-0.5% MoM; strong leasing | Solid; utility pass-throughs normalizing | Maintenance costs rising (seasonal prep) | Strong — tax refunds drive catch-up payments |
| **May** | Peak move-in season begins | Strong month; full occupancy effect | Seasonal maintenance in full swing | Best collections month typically |
| **Jun** | +0.3-0.5% MoM; peak season | Peak or near-peak revenue month | Summer maintenance costs; AC in southern markets | Strong collections continue |
| **Jul** | Peak occupancy month | Strong revenue | Highest maintenance/utility month in many markets | Slight softening — summer expenses for tenants |
| **Aug** | Flat to -0.2%; back-to-school | Revenue holds | Maintenance costs peak | Back-to-school stress: delinquency rises 0.5-1% |
| **Sep** | -0.2-0.3% MoM; move-out season | Revenue may dip slightly | Maintenance costs declining | Collections improve post-summer |
| **Oct** | Stable | Stable | Winterization costs in northern markets | Strong collections — stable period |
| **Nov** | Flat to -0.2% | Holiday impact on misc income | Heating costs begin rising | Holiday delinquency begins; +0.5% above avg |
| **Dec** | Lowest leasing activity | Flat; year-end adjustments | Year-end maintenance push | Highest delinquency month; +1-2% above annual avg |

### Seasonal Adjustment Methodology

When comparing months to prior period, always ask: "Is this deviation within the expected seasonal range?"

**Example:** January delinquency of 10% is not alarming if the property's annual average is 8% and the historical January average is 9.5-10.5%. But January delinquency of 13% when the historical January range is 9.5-10.5% is a genuine signal.

**Seasonal index calculation:**
```
Seasonal Index(month) = Average of [Month Value / Annual Average] across 3+ years
Seasonally Adjusted Value = Actual Value / Seasonal Index
```

**When to use seasonal adjustment:**
- Comparing non-adjacent months (e.g., January vs July)
- Setting monthly targets from annual goals
- Detecting true anomalies vs expected seasonal variation

**When NOT to use seasonal adjustment:**
- Comparing same month YoY (seasonality already controlled)
- Single-property analysis with <3 years of history (insufficient data for reliable indices)
- One-time events (insurance claims, acquisitions) — these are not seasonal

---

## Economic Correlations

### Probability Engine Property Clusters

The Probability Engine (quarterly economic forecast tool) classifies each property into one of three clusters based on historical sensitivity to macroeconomic indicators:

| Cluster | Behavior | Properties | Rent Strategy |
|---------|----------|------------|---------------|
| **Resilient** | Counter-cyclical: occupancy UP when economy DOWN | Communities with strong affordability advantage, limited alternatives | More aggressive rent increases; demand increases during downturns |
| **Sensitive** | Pro-cyclical: occupancy DOWN when economy DOWN | Higher-rent communities, areas with alternative affordable housing | Conservative increases during uncertainty; retention focus |
| **Neutral** | Not significantly correlated with macro indicators | Geographically isolated or unique markets | Standard approach based on property tier |

### Economic Indicator Impacts

| Indicator | Direction | Occupancy Impact | Revenue Impact | Time Lag |
|-----------|-----------|-----------------|----------------|----------|
| **Unemployment +1%** | Negative | -0.5% to -1.5% (Sensitive), flat (Resilient) | Collections pressure | 1-3 months |
| **Gas Prices +20%** | Negative | Minimal | Collections pressure in rural properties | Immediate |
| **Interest Rates +1%** | Positive | +0.3-0.5% (fewer home purchases = more MHP demand) | Neutral short-term | 3-6 months |
| **Housing Costs +10%** | Positive | +0.5-1.0% (stronger affordability moat) | Supports rent increases | 1-3 months |
| **Inflation +2%** | Mixed | Neutral | Supports rent increases but raises expenses | Immediate for expenses, 6-12 months for rent resets |
| **Wage Growth +3%** | Positive | Neutral | Supports rent increases, improves collections | 1-3 months |

### Using Economic Context in KPI Analysis

When interpreting KPI trends, always check macroeconomic context:
1. **Pull the latest Probability Engine forecast** for the relevant quarter
2. **Match property cluster** to the economic scenario
3. **Adjust expectations:** A Sensitive property losing 0.5% occupancy during rising unemployment is expected behavior, not a management failure
4. **Distinguish controllable vs uncontrollable:** Rate increases are controllable; occupancy impact from recession is partially uncontrollable

---

## Executive Narrative Templates

### Monthly KPI Summary (for Sam/Leadership)

```
## Portfolio Performance: [Month Year]

**Bottom line:** [One sentence: are we on track for the 5% same-store NOI growth target?]

### Headline Metrics
| Metric | Actual | Target | Prior Month | YoY | Status |
|--------|--------|--------|-------------|-----|--------|
| Portfolio Occupancy | X% | 93% | Y% | +/-Z% | [On Track / Watch / Alert] |
| Same-Store NOI | $X | $Target | $Y | +/-Z% | [On Track / Watch / Alert] |
| NOI Margin | X% | 55% | Y% | +/-Z% | [On Track / Watch / Alert] |
| Net Collection Rate | X% | 95.5% | Y% | +/-Z% | [On Track / Watch / Alert] |
| Portfolio LTL | $X/mo | Declining | $Y | -$Z | [On Track / Watch / Alert] |

### What Went Well
- [Specific win with dollar/percentage impact]
- [Specific win with dollar/percentage impact]

### What Needs Attention
- [Issue with context and recommended action]
- [Issue with context and recommended action]

### Properties to Watch
| Property | Issue | Recommended Action | Owner |
|----------|-------|-------------------|-------|
| [Name] | [Metric off track] | [Specific action] | [Who] |

### 90-Day Outlook
[2-3 sentences on expected trajectory based on leading indicators]

**Confidence: [HIGH/MODERATE/LOW]**
[Note any data gaps, timing issues, or assumptions]
```

### Property Deep-Dive (for Property Manager Meeting)

```
## [Property Name] Performance Review: [Month Year]

### Quick Stats
- Lots: [Total] | Occupied: [N] ([X%]) | Vacant: [N]
- POH: [N] ([X%]) | TOH: [N] ([X%])
- Tier: [A/B/C/D] | Cluster: [Resilient/Sensitive/Neutral]

### Performance Dashboard
| Metric | Current | Prior Month | YoY | Peer Avg | vs Peer |
|--------|---------|-------------|-----|----------|---------|
| Occupancy | X% | Y% | +/-Z% | P% | +/-D% |
| Avg Lot Rent | $X | $Y | +$Z | $P | +/-$D |
| LTL % | X% | Y% | -Z% | P% | +/-D% |
| NOI Margin | X% | Y% | +/-Z% | P% | +/-D% |
| Delinquency | X% | Y% | +/-Z% | P% | +/-D% |

### Trend (6-Month)
[Brief description of 6-month direction for each major metric]

### Variance Explanation
[Use variance analysis framework — top 2-3 drivers]

### Action Items from Last Month
| Action | Status | Result |
|--------|--------|--------|
| [Prior action] | [Complete/In Progress/Not Started] | [Outcome] |

### Recommended Actions This Month
1. [Action with expected impact]
2. [Action with expected impact]
```

### Board/Investor KPI Narrative

```
## Operational Highlights: [Quarter Year]

[Opening paragraph: 2-3 sentences summarizing portfolio performance in business terms,
referencing the 5% same-store NOI growth target]

**Same-Store Performance:**
- Revenue grew X% YoY, driven by [rent increases / occupancy gains / both]
- Operating expenses [increased/decreased] X% YoY, [in line with / above / below] targets
- Same-store NOI grew X% YoY, [on pace for / ahead of / behind] the 5% annual target

**Occupancy:**
- Portfolio occupancy stood at X% as of [date], [up/down] from X% a year ago
- Net absorption of [N] units during the quarter
- [Context on specific property wins or challenges]

**Value-Add Progress:**
- Portfolio LTL decreased from $X/month to $Y/month, representing $Z in annualized
  recapture
- [N] rent increases implemented averaging X%
- Average lot rent increased to $X from $Y a year ago (+Z%)

**Industry Context:**
- National MHP occupancy: ~94.9% (Sunrise at X%)
- REIT same-store NOI growth: 5-10% range (Sunrise at X%)
- National lot rent growth: ~7% YoY (Sunrise at X%)

**Confidence: [HIGH/MODERATE/LOW]**
```

---

## Decision Trees

### Occupancy Declining

```
Occupancy dropped >1% MoM
  |
  |-- Is it seasonal? (Nov-Feb typical softness)
  |     |-- YES: Compare to same month prior year
  |     |     |-- Worse than prior year same month? --> Investigate further
  |     |     |-- In line with prior year? --> Normal, monitor
  |     |-- NO: Not a seasonal month, investigate
  |
  |-- Check move-out volume
  |     |-- Move-outs above normal?
  |     |     |-- Rent increase recently implemented? --> Check if turnover from increase
  |     |     |     |-- Turnover >3% of increased tenants? --> Increase was too aggressive
  |     |     |     |-- Turnover <3%? --> Normal friction, hold course
  |     |     |-- No recent rent increase? --> Management/community issue
  |     |     |     |-- Check maintenance request trends
  |     |     |     |-- Check resident complaints
  |     |     |     |-- Check competitive market (new apartments nearby?)
  |     |-- Move-outs normal?
  |           |-- Move-ins declined? --> Marketing/leasing issue
  |           |     |-- Check inquiry volume (leading indicator)
  |           |     |-- Check application conversion rate
  |           |     |-- Check available home inventory
  |           |-- Data issue? --> Verify unit classifications, lease coding
```

### NOI Below Target

```
NOI below target for the month
  |
  |-- Revenue shortfall?
  |     |-- Occupancy below plan? --> See Occupancy Decision Tree
  |     |-- Rents below plan?
  |     |     |-- Rent increases delayed? --> Check implementation timeline
  |     |     |-- Concessions granted? --> Review concession policy
  |     |     |-- Unexpected move-outs of high-rent tenants? --> Retention issue
  |     |-- Other income below plan?
  |           |-- Utility reimbursement shortfall? --> Check billing accuracy
  |           |-- Late fees/misc below plan? --> Policy enforcement issue
  |
  |-- Expense overrun?
  |     |-- Which category?
  |     |     |-- Utilities? --> Weather-driven or rate increase? Sub-meter opportunity?
  |     |     |-- Maintenance? --> One-time repair or systemic? Capital vs OpEx coding?
  |     |     |-- Insurance? --> Premium increase or claim? Shop at renewal
  |     |     |-- Taxes? --> Reassessment? Appeal timeline?
  |     |     |-- Payroll? --> Overtime? Position added? Vacancy backfill?
  |     |-- Is it one-time or recurring?
  |           |-- One-time? --> Note and do not adjust forecast
  |           |-- Recurring? --> Update forecast, assign action owner
```

### Delinquency Spike

```
Delinquency rate increased >2% MoM
  |
  |-- Seasonal? (Jan, Aug, Dec typical spikes)
  |     |-- YES and within 1% of prior year same month --> Monitor, no action
  |     |-- YES but worse than prior year --> Investigate
  |     |-- NO --> Investigate immediately
  |
  |-- Concentrated or dispersed?
  |     |-- One property driving the spike?
  |     |     |-- One large tenant? --> Individual payment plan or eviction
  |     |     |-- Multiple tenants? --> Property-level management issue
  |     |-- Portfolio-wide increase?
  |           |-- Economic event? (plant closure, layoffs) --> Retention focus
  |           |-- Process breakdown? (billing errors, late notices) --> Fix process
  |
  |-- Aging analysis
  |     |-- Mostly 0-30 days? --> Likely timing, will resolve
  |     |-- Growing 31-60 day bucket? --> Collections process needs tightening
  |     |-- Growing 60+ day bucket? --> Eviction pipeline review, write-off policy
```

### Collections Rate Declining

```
Net Collection Rate dropped below 95.5%
  |
  |-- Check Resolution Rate vs Net Collection Rate gap
  |     |-- Gap widening? --> Write-offs increasing (bad debt problem)
  |     |-- Both declining? --> Neither collecting nor resolving (process failure)
  |
  |-- Timing issue?
  |     |-- Month-end processing delay? --> Check again after 5th of next month
  |     |-- Payment method changes? --> New system implementation lag?
  |
  |-- Systematic issue?
  |     |-- Tenant screening changes? --> Review approval criteria
  |     |-- Payment convenience? --> Online payment adoption rate
  |     |-- Economic stress? --> Cross-reference with delinquency and macro data
```

---

## Data Quality Checks

### Pre-Analysis Validation Checklist

Run these checks BEFORE interpreting any KPI data. Invalid data produces invalid conclusions.

#### Completeness Checks

| Check | Expected | Validation Rule | Severity |
|-------|----------|----------------|----------|
| Property count (MHP scope) | 19 | Must match AM Reports group minus parking | ERROR — halt |
| Property count (Full scope) | 24-26 | Must match full AM Reports group | ERROR — halt |
| All properties have occupancy data | 19/19 | No nulls or zeros (unless truly vacant property) | ERROR — investigate |
| All properties have P&L data | 19/19 | Revenue > $0 for each property | WARNING — may be timing |
| Reporting period alignment | Same month-end | All properties using same close date | ERROR — halt |

#### Reasonableness Checks

| Check | Rule | Severity | Common Cause |
|-------|------|----------|-------------|
| Occupancy > 100% | Cap at 100%, flag | ERROR | Duplicate leases or unit type misclassification |
| Occupancy < 50% | Flag for review | WARNING | Unit type reclassification or data load failure |
| NOI margin < 30% | Flag for review | WARNING | Large one-time expense or revenue misclassification |
| NOI margin > 80% | Flag for review | WARNING | Expense understatement or revenue misclassification |
| Collection rate > 120% | Likely calc error | ERROR | Prepayments or period mismatch |
| NOI MoM change > 15% | Require explanation | WARNING | One-time items, accrual adjustments |
| Current rent > market rent x 1.2 | Verify market rents | WARNING | Stale market rent data |
| Delinquency rate > 20% | Verify data | WARNING | May be real but usually indicates data issue |

#### Consistency Checks

| Check | Method | Severity |
|-------|--------|----------|
| Total units changed MoM | Compare to prior export | WARNING if change >2% |
| Property names match prior period | String comparison | ERROR if mismatch |
| Revenue sums to P&L total | Cross-reference Report 43 | ERROR if gap >5% |
| Market rents updated this quarter | Check MarketRentEffectiveDate | WARNING if stale >12 months |

#### Timing Checks

| Check | Rule |
|-------|------|
| All properties closed for the month | Verify with Mike before export |
| Accruals posted | Check with Finance |
| Adjusting entries complete | Check with Finance |
| Year-end adjustments (Dec/Jan only) | Confirm one-time vs recurring treatment |

### Automated Validation (from validation.py)

The validation framework in `rentmanager-mcp/validation.py` runs these checks automatically before each export. If validation fails:
1. Export is halted
2. Validation report is generated with specific failures
3. Carlos and Mike are notified
4. Data must be corrected before re-running export

---

## Output Formats

### Format 1: Monthly KPI Analysis

**Use when:** Regular monthly reporting to Sam and leadership.
**Structure:** See Executive Narrative Templates > Monthly KPI Summary above.
**Data source:** KPI Dashboard export + P&L Report 43.
**Delivery:** Within 5 business days of month-end close.

### Format 2: Property Deep-Dive

**Use when:** Property-specific investigation triggered by Watch/Alert status.
**Structure:** See Executive Narrative Templates > Property Deep-Dive above.
**Data source:** Property-level API data + P&L + delinquency aging.
**Delivery:** As needed, typically for C/D tier properties.

### Format 3: Trend Report (Quarterly)

**Use when:** Quarterly board meeting preparation or Rock progress review.
**Structure:**

```
## Quarterly KPI Trend Report: [Q# Year]

### Portfolio Trajectory
[6MMA charts for occupancy, NOI, RevPAL, delinquency]
[Commentary on trend direction and acceleration/deceleration]

### Same-Store Performance vs Target
| Quarter | Revenue Growth | Expense Growth | NOI Growth | Target |
|---------|---------------|----------------|------------|--------|
| Q1 | X% | Y% | Z% | 5% |
| Q2 | X% | Y% | Z% | 5% |
| Q3 | X% | Y% | Z% | 5% |
| Q4 | X% | Y% | Z% | 5% |
| **YTD** | **X%** | **Y%** | **Z%** | **5%** |

### Industry Positioning
[Sunrise metrics vs REIT benchmarks — see Peer Benchmarking section]

### Tier Changes
| Property | Prior Tier | Current Tier | Driver |
|----------|-----------|-------------|--------|
| [Name] | [X] | [Y] | [Reason] |

### Leading Indicator Assessment
[Are leading indicators pointing to continued improvement, stability, or deterioration?]

### Recommendations for Next Quarter
1. [Strategic recommendation with expected impact]
2. [Operational recommendation with expected impact]
```

### Format 4: Variance Explanation Memo

**Use when:** A specific metric is significantly off-plan and leadership has asked "why."
**Structure:**

```
## Variance Analysis: [Metric] — [Month Year]

### Summary
[Metric] was $[amount] ([percentage]%) [above/below] [target/budget/prior year]
for [property/portfolio] in [month year].

### Waterfall Decomposition
[Use generate_waterfall_table() from calculations.py]

### Driver Details
[For each material driver, provide:]
1. **[Driver name]:** [$ impact]
   - What happened: [factual description]
   - Why it happened: [root cause]
   - Is it recurring: [Yes/No/Unknown]
   - Management response: [Action taken or planned]

### Impact on Annual Forecast
- Current trajectory: [$ and % for full year]
- Revised forecast: [If applicable]
- Variance to annual target: [$ and %]

### Confidence: [HIGH/MODERATE/LOW]
[Data quality notes, assumptions, items requiring further investigation]
```

### Format 5: Peer Benchmark Report

**Use when:** Annual strategic review or new acquisition underwriting.
**Structure:**

```
## Peer Benchmark Analysis: [Property/Portfolio]

### Sunrise vs Industry

| Metric | Sunrise | UMH (Peer) | REIT Avg | National | Percentile |
|--------|---------|-----------|----------|----------|------------|
| Occupancy | X% | 88.5% | 93.6% | 94.9% | [Nth] |
| Avg Rent/Site | $X | $565 | $738 | $500-700 | [Nth] |
| NOI Margin | X% | ~60% | ~65% | ~55% | [Nth] |
| SS NOI Growth | X% | 12.1% | 7.5% | ~7% | [Nth] |
| Expense Ratio | X% | 39.7% | ~35% | ~40% | [Nth] |

### Strengths vs Peers
- [Metric where Sunrise outperforms with explanation]

### Gaps vs Peers
- [Metric where Sunrise underperforms with explanation and action plan]

### Normalization Notes
- REIT benchmarks adjusted +5-10% on expense ratio for scale difference
- UMH occupancy includes recent acquisitions at 32-79% (lowers their average)
- National average includes non-investment-grade communities
```

---

## References

### Internal References

| Document | Path | Content |
|----------|------|---------|
| Data Dictionary | `Operations/data-pipeline-consolidation/DATA_DICTIONARY.md` | Authoritative metric definitions, validation rules, escalation thresholds |
| Calculations Module | `rentmanager-mcp/calculations.py` | Canonical Python functions for all KPI calculations |
| Validation Framework | `rentmanager-mcp/validation.py` | Pre-export data validation checks |
| Monthly KPI Export | `rentmanager-mcp/export_monthly_kpi_dashboard.py` | Export script for KPI dashboard |
| Occupancy Dashboard Export | `rentmanager-mcp/export_occupancy_dashboard.py` | Occupancy-specific export |
| Snapshot Bridge | `rentmanager-mcp/snapshot.py` | Unified data loading for exports |
| Probability Engine | `Asset Management/probability-engine/export_forecast_dashboard.py` | Economic scenario modeling, property cluster assignments |
| Variance Analysis Skill | `.claude/skills/variance-analysis/` | Detailed variance decomposition methodology |

### External Data Sources

| Source | Coverage | Frequency | Use For |
|--------|----------|-----------|---------|
| **SkyView Advisors** | MH REIT quarterly reports | Quarterly | REIT benchmark metrics (SUI, ELS, UMH) |
| **Datacomp / JLT Reports** | 189 U.S. markets, investment-grade communities | Monthly by market | Local market rent and occupancy comps |
| **MHI** | National MH industry | Quarterly | Shipment data, regulatory updates, macro trends |
| **Northmarq** | MHC transaction data | Quarterly | Cap rates, pricing per space, transaction volume |
| **Census Bureau MHS** | National manufactured housing | Annual | Housing stock data, demographic trends |
| **Fannie Mae MF Guide** | MHC lending standards | As updated | Underwriting benchmarks, DSCR requirements |

### REIT Investor Relations Pages

| REIT | Ticker | IR Page | Key Filings |
|------|--------|---------|-------------|
| Sun Communities | SUI | suncommunities.gcs-web.com | 10-K, 10-Q, Earnings Supplements |
| Equity LifeStyle Properties | ELS | equitylifestyleproperties.com | 10-K, 10-Q, Earnings Supplements |
| UMH Properties | UMH | umh.reit | 10-K, 10-Q, Earnings Supplements |

### Key Industry Statistics (as of Q3 2025)

| Statistic | Value | Source |
|-----------|-------|--------|
| National MHC occupancy | 94.9% | Northmarq/SkyView |
| U.S. manufactured homes | ~7 million (18M+ residents) | MHI |
| MH as % of U.S. housing | 6% (14% outside metro areas) | Census |
| Average cap rate (2025) | 5.9% | Northmarq |
| Median price per space | $45,500 | Northmarq |
| National lot rent growth (YoY) | ~7.1% | JLT/MHInsider |
| REIT avg same-store NOI growth | 5-10% | SkyView Q3 2025 |
| 10-year MHC loan terms | 5.25-5.75%, 60-75% LTV, 1.4-1.6x DSCR | ELS filings |
| 2026 rent increase guidance | ~5% avg across REITs | SUI/ELS investor calls |

### Benchmark Update Schedule

| Data Point | Update Trigger | Who Updates | Where |
|-----------|---------------|-------------|-------|
| REIT metrics | Quarterly earnings releases (Jan, Apr, Jul, Oct) | Carlos | This skill file |
| JLT market data | Annual subscription renewal | Sam/Carlos | Underwriting models |
| Cap rates | Northmarq quarterly report | Sam | Acquisition models |
| Sunrise thresholds | DATA_DICTIONARY.md version change | Carlos + Mike | DATA_DICTIONARY.md |
| Property clusters | Quarterly Probability Engine run | Carlos | Probability Engine output |
| Same-store pool | Quarterly CFO approval | Sam | KPI Dashboard config |

---

*This skill document is a knowledge reference, not executable code. All calculations reference the canonical implementations in `rentmanager-mcp/calculations.py`. Metric definitions are authoritative only in `DATA_DICTIONARY.md` — this document interprets and contextualizes those definitions for analysis purposes.*
