0099 — Trending occupancy counts pending applications and subtracts notices

Context

Since 2026-07-13 (ADR-0093 dedup + the shared trending-occupancy.ts module) the Trending occupancy figure was (occupied + vacantLeased + approvedUnits) / totalUnits — vendor-convention-aligned: unsigned applications excluded (the vendor bar for a forward figure is a signed/executed lease) and notices never subtracted (no vendor formula blanket-subtracts them).

At the 2026-07-16 afternoon standup the team reviewed the occupancy card (83.3% now → 84.2% trending, the +1 being Unit 308's signed-not-countersigned lease) and decided on a more inclusive house methodology. Sean, verbatim from the transcript: "if they put an application, it should be [counted]. If the application is approved, it should be. If the lease is signed… even if they haven't moved in yet… those 3 categorizations should count towards the trending occupancy"; "let's just count it towards the trending, unless it gets denied, and then… it would get taken back"; and "if a unit's on notice, then it would also go against the trending occupancy" (Fede: "Yes."). Yale 25 Station's "approved and with deposits" bar was considered as a reference and explicitly not adopted.

Decision

One shared formula, every surface (computeTrendingOccupancy() — dashboard OccupancyCard, LeasingSection projection, MetricInsight dock, owner-report email):

(occupied + vacantLeased + approvedUnits + pendingUnits − noticeUnits) / totalUnits

Known limitations / consequences