Portfolio Dashboard

Redesign mockup v2, generated 2026-07-16. Real data from RPP Supabase, no invented numbers.
This is a design mockup, not the live app. Layout per the v2 plan (Woz draft, revised per Wynn CRO + Walton COO review). Every number on this page is pulled live from production tables and cited in the footer. Where the data does not exist, the page says so instead of faking it: that honesty is itself part of the design.
Checks last ran 2026-07-16 12:00 UTC 6 sources evaluated, 3 flagged | An empty queue below is provable, never inferred from silence (watchdog: pipeline-health-check.mjs)
Estimated fair-share gap
$39,249 /mo
March 2026, all of it at CLLSP Holiday Inn Aggieland (RGI 82.4). Computable for only 2 of 15 hotels; the other 13 have no STR compset wired.
gap = (compset RevPAR $62.01 minus subject RevPAR $51.10) x 116 rooms x 31 days. Formula per Wynn review; hotels above fair share are never netted against this.
Portfolio, last night (Jul 15)
64.7% occ
Across the 5 properties with a night-audit feed (711 rooms). 10 of 15 properties have no feed configured.
night_audit_entries, business_date 2026-07-15
STR data coverage
2 of 15 hotels
Only CLLSP and CLLUD have compset metrics, and their latest monthly period is Mar 2026: four months stale.
compset_metrics, latest monthly period 2026-03

Attention queue

Events and breaches only. Standing conditions live as badges on the table below. Two lanes so performance items are never buried under plumbing items (Walton).
Act on the hotel Ace / GM
CLLSP RGI fell to 82.4 in March, down 34.6 pts vs February (116.9)
MPI 81.6 and ARI 101.0: the loss is occupancy share, not rate. T3M 101.4 vs prior T3M 103.9, so this flags but does not escalate yet under the trailing-3-month rule. YoY: Mar 2025 was 94.5.
compset_metrics, period 2026-03, detected from STR upload. No rgi_goal set in sales_plans, using default sub-90 threshold.
HOUUS July MTD RevPAR $56.56, down 6.9% vs same 15 days last year ($60.75)
Occupancy 57.2% vs 62.2% LY (down 5.0 pts); ADR roughly flat ($98.94 vs $97.74). The gap is heads in beds.
night_audit_entries, Jul 1-15 2026 vs Jul 1-15 2025, latest revision per business date
Fix the plumbing Woz / Walton
Books diverge from PMS: HOUZN May QBO $408,863 vs PMS $301,753 (35.5%)
HOURP May also off by 3.6% ($503,412 vs $486,103). One of these systems is wrong for HOUZN.
watchdog source qbo_vs_pms_revenue, checked 2026-07-16 12:00 UTC
STR compset metrics stale and thin: latest monthly period is Mar 2026, and 13 of 15 hotels have none at all
The ranked table below is running four months behind for the 2 wired hotels and blind for the rest. Upload backlog or wiring gap.
compset_metrics, queried 2026-07-16
Night audit feed missing for 10 of 15 properties; CLLAL has gaps (11 of 15 July days)
Last-night and MTD bands only cover 5 properties. Feeds arrive via email parse (HotelKey); the missing 10 were never configured.
night_audit_entries since 2026-06-26
Market sentinel jump: The Westin at The Woodlands estimated RevPAR 235.8 → 296.35 (+25.7%)
Plus 1 of 55 STR/SIFT reconciliation subjects diverging over 15%: SpringHill Suites Houston Northwest. Both can distort market baselines.
watchdog sources sentinel_regression + str_sift_reconciliation, 2026-07-16 12:00 UTC
45 compset peer-set change rows detected in trailing 90 days
Mostly backfill detections from recent STR uploads. Informational.
compset_change_log, detected_at ≥ 2026-04-17

Last night (Tue, Jul 15) and July MTD

Business date labeled explicitly (Walton). Freshest data in the system: this is the daily-open reason. MTD compares the same 15-day window against last year where last year exists.
HOURP
SpringHill Suites Medical Center/NRG
Occ72.0%
ADR$130.43
RevPAR$93.36
MTD RevPAR $79.84 +49.9% vs LY
Occ 50.4% (+5.1 pts), ADR $158.35 (+34.6%)
HOUZN
SpringHill Suites Houston Northwest
Occ70.0%
ADR$116.62
RevPAR$81.38
MTD RevPAR $83.94 +37.0% vs LY
Occ 68.1% (+12.6 pts), ADR $123.26 (+11.6%)
HOUUS
Holiday Inn Express Westchase
Occ40.9%
ADR$86.65
RevPAR$35.46
MTD RevPAR $56.56 -6.9% vs LY
Occ 57.2% (-5.0 pts), ADR $98.94 (+1.2%)
CLLSB
Staybridge Suites College Station
Occ89.8%
ADR$180.29
RevPAR$161.85
MTD RevPAR $85.44, Occ 64.5%, ADR $132.38
No Jul 2025 audit data for YoY
CLLAL
aloft College Station
Occ90.5%
ADR$164.62
RevPAR$148.94
MTD RevPAR $77.79, Occ 64.2%, ADR $121.09
Only 11 of 15 July days reported
10 MORE PROPERTIES
No night-audit feed configured: CLLTX, CLLSP, CFDBR, CLLUD, DFWCE, DALDL, DFWXF, DFWXY, HOUZK, HOUZV.
Shown explicitly, never as a blank that could be mistaken for a failure (Walton).
Configure feeds →

Portfolio position, monthly STR

Replaces the card grid outright. Rows click through to the property. STR cells carry their own as-of period because they lag the night-audit band by months (Wynn). Sort by any column.
Hotel RGI 12-mo trend MoM T3M avg MPI ARI Occ ADR RevPAR Last night occ Freshness
fresh within expected cadence stale past expected-by (STR monthly / audit 1 day / flash 8h) source not wired STR cells as-of Mar 2026; last-night column as-of Jul 15, 2026

What changed vs the current dashboard, and who called it

  1. Exception-first queue with owner lanes. Performance breaches route to Ace/GM, pipeline breaches to Woz/Walton, so neither buries the other (Walton). Queue holds events with dismiss; standing conditions like sub-90 RGI are row badges, not daily re-alerts.
  2. Provable all-clear. The heartbeat line at the top states when checks last ran and how many sources were evaluated. Prior art: the 20-day silent SIFT outage of May 2026 (Walton).
  3. Last-night band from night audit. The freshest data RPP has, labeled with its business date. Coverage gaps stated outright: 10 of 15 properties have no feed (Walton).
  4. Dense ranked table replaces cards. RGI decomposed into MPI x ARI so you can see whether a gap is occupancy or rate (Wynn). Sparkline carries the 13-month story. T3M column stops single-month wobble from escalating (Wynn).
  5. Fair-share gap in dollars, corrected formula. (compset RevPAR minus subject RevPAR) x rooms x days, summed only over hotels below fair share, labeled with its period (Wynn killed the draft ADR-based version as overstating the gap).
  6. Freshness as a first-class signal. Per-source expected-by dots on every row, and this mockup itself demonstrates why: the STR side of the table is four months stale and 13 hotels are dark.
Sources. Hotels, rooms, brands: hotels (is_thm_property = true, 15 rows). STR indices, MPI/ARI decomposition, monthly series Mar 2025 to Mar 2026: compset_metrics for the CLLSP and CLLUD primary compsets (only compsets with metric rows among THM properties; latest monthly period 2026-03). Last night and MTD: night_audit_entries, business dates 2026-07-01 to 2026-07-15 and 2025-07-01 to 2025-07-15, latest revision per business date. Pipeline alerts and heartbeat: watchdog rollup ~/.revparpro/last_pipeline_status.json, checked_at 2026-07-16T12:00:01Z (sources: sift_sync_job ok, sift_tax_receipts ok, str_summary_refresh ok, str_sift_reconciliation flagged, sentinel_regression flagged, qbo_vs_pms_revenue flagged). Compset change count: compset_change_log, detected_at ≥ 2026-04-17 (45 rows). RGI goals: sales_plans.rgi_goal is null for all rows as of 2026-07-16, so default thresholds shown. Fair-share gap math: (100 - 82.4)/100 x $62.01 compset RevPAR x 116 rooms x 31 days = $39,249 (compset RevPAR derived as subject RevPAR $51.10 / 0.824).

Mockup by Woz, plan reviewed by Wynn (CRO) and Walton (COO), 2026-07-16. All action links are non-functional placeholders.