Skip to content

F-013: Market Analytics โ€‹

Status: ๐Ÿ’ก Proposed ยท Priority: P2 ยท Updated: Mar 4, 2026

Summary โ€‹

Transparent rental market data โ€” price history, days on market, neighborhood statistics, trend charts, and a public stats dashboard. Helps tenants make informed decisions and landlords price competitively. Benefits from F-014: Properties for stable per-unit tracking.

Requirements โ€‹

  • [ ] Price history snapshots on listing status changes
  • [ ] Days on market calculation and display
  • [ ] Per-neighborhood stats (avg rent by bedrooms, median, listing count, days on market)
  • [ ] Price trend charts (line charts, filterable by neighborhood/bedrooms)
  • [ ] Public stats dashboard at /stats
  • [ ] Historical listing archive (rented/archived listings remain visible)

Design โ€‹

See product analysis for detailed specs.

Price history: Snapshot pricePerMonth on every status change or price edit. Store in price_history table. Display timeline on listing detail page. Flag drops/increases.

Neighborhood stats: Already partially built โ€” neighborhood_stats_snapshots table exists with daily per-neighborhood, per-bedroom price/count snapshots. Trend charts are the main missing piece.

Public stats dashboard (/stats):

  • City-wide overview (total listings, average rent, market activity)
  • Borough breakdown table
  • Neighborhood leaderboards (cheapest, most expensive, most active)
  • Interactive charts (likely Recharts or similar)

Open questions:

  • Chart library choice? Recharts is already common in React ecosystems
  • How far back to show trend data? (depends on how long we've been snapshotting)
  • Should stats be real-time or cached/pre-computed?

Discussion Notes โ€‹

Jan 20, 2026 โ€‹

  • Initial proposal as Phase 12
  • neighborhood_stats_snapshots table already exists from scraper work โ€” good foundation

Implementation Notes โ€‹

Not yet started.