← back to command center

Comp Analysis /comp-analysis

yellow 1h ago · started 2026-04-28T18:20:35.915696+00:00

Headline Metrics

Properties
14
Fresh comps
14
Median comps
7

Validation Findings (1)

SeverityCodeMessageContext
warningFEW_COMPSTimberledge Cabin has only 4 comps (target 5+)pl_id: 493486

Trend

Capture History

How to refresh

Engine: python3 ~/.claude/scripts/comp-analysis.py --report

Capture (writes to dashboard-data/latest/): ~/.claude/scripts/dashboard-capture.sh comp-analysis

Raw output

7,236 bytes of JSON
{
  "skill": "comp-analysis",
  "today": "2026-04-28",
  "properties": [
    {
      "pl_id": "222900",
      "name": "Cherrytown Chalet",
      "bedrooms": 3,
      "tier": "mid",
      "comp_count": 7,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/222900/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 252,
      "pl_mpi_next_30": 1.3,
      "pl_occ_next_30": "33 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "290588",
      "name": "Valley Vista",
      "bedrooms": 3,
      "tier": "mid",
      "comp_count": 7,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/290588/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 173,
      "pl_mpi_next_30": 1.3,
      "pl_occ_next_30": "40 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "299281",
      "name": "Jade Getaway",
      "bedrooms": 4,
      "tier": "large",
      "comp_count": 7,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/299281/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 318,
      "pl_mpi_next_30": 1.1,
      "pl_occ_next_30": "33 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "340620",
      "name": "Red Fox Stables",
      "bedrooms": 6,
      "tier": "luxury",
      "comp_count": 6,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/340620/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 1277,
      "pl_mpi_next_30": 2.8,
      "pl_occ_next_30": "63 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "341135",
      "name": "Porter's Lodge",
      "bedrooms": 3,
      "tier": "mid",
      "comp_count": 6,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/341135/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 369,
      "pl_mpi_next_30": 0.5,
      "pl_occ_next_30": "13 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "343880",
      "name": "Ridge House",
      "bedrooms": 3,
      "tier": "mid",
      "comp_count": 8,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/343880/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 344,
      "pl_mpi_next_30": 1.4,
      "pl_occ_next_30": "43 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "369689",
      "name": "Goat Hill Cottage",
      "bedrooms": 2,
      "tier": "small",
      "comp_count": 6,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/369689/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 213,
      "pl_mpi_next_30": 1.4,
      "pl_occ_next_30": "47 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "396986",
      "name": "Wanderwood Lodge",
      "bedrooms": 8,
      "tier": "luxury",
      "comp_count": 9,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/396986/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 1130,
      "pl_mpi_next_30": 2.5,
      "pl_occ_next_30": "33 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "422513",
      "name": "Hommel House",
      "bedrooms": 3,
      "tier": "mid",
      "comp_count": 7,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/422513/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 231,
      "pl_mpi_next_30": 0.6,
      "pl_occ_next_30": "20 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "429948",
      "name": "Hilltop Oasis",
      "bedrooms": 2,
      "tier": "small",
      "comp_count": 10,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/429948/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 140,
      "pl_mpi_next_30": 1.1,
      "pl_occ_next_30": "37 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "451270",
      "name": "Blackberry Cottage",
      "bedrooms": 4,
      "tier": "large",
      "comp_count": 6,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/451270/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 324,
      "pl_mpi_next_30": 0.0,
      "pl_occ_next_30": "0 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "487778",
      "name": "Blau Haus",
      "bedrooms": 4,
      "tier": "large",
      "comp_count": 6,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/487778/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 197,
      "pl_mpi_next_30": 0.4,
      "pl_occ_next_30": "13 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "493486",
      "name": "Timberledge Cabin",
      "bedrooms": 2,
      "tier": "small",
      "comp_count": 4,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/493486/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 171,
      "pl_mpi_next_30": 2.2,
      "pl_occ_next_30": "70 %",
      "pl_market_occupancy": null
    },
    {
      "pl_id": "505182",
      "name": "Waterfall House",
      "bedrooms": 3,
      "tier": "mid",
      "comp_count": 8,
      "comp_calendar_age_days": 2,
      "future_prices_age_days": 2,
      "comp_calendar_path": "/Users/justinfeldstein/Dropbox/Projects/haus/revenue-management/pl-data/505182/2026-04-26-comp-calendar.csv",
      "pl_adr_past_30": 290,
      "pl_mpi_next_30": 0.2,
      "pl_occ_next_30": "7 %",
      "pl_market_occupancy": null
    }
  ],
  "summary": {
    "total_properties": 14,
    "with_fresh_comps": 14,
    "median_comp_count": 7
  },
  "validation": {
    "skill": "comp-analysis",
    "started_at": "2026-04-28T18:20:35.915696+00:00",
    "checks_run": [
      "portfolio",
      "pricelabs_api"
    ],
    "summary": {
      "errors": 0,
      "warnings": 1,
      "info": 0
    },
    "findings": [
      {
        "severity": "warning",
        "code": "FEW_COMPS",
        "message": "Timberledge Cabin has only 4 comps (target 5+)",
        "context": {
          "pl_id": "493486"
        }
      }
    ]
  }
}