Boxscore
Challenge
When a multifamily property misses its NOI budget, the real question is never how much — it’s why. Answering it means pulling the GL actuals and budget, reconciling a non-standard chart of accounts, finding which line items moved, cross-referencing rent roll, delinquency, and leasing data, and then writing an explanation an owner or lender will trust. That work lives in scattered exports, inbox threads, and staff memory, so it is slow, inconsistent across managers and periods, and rarely leaves an auditable trail. Asset managers needed a way to turn a month of operating data into a defensible variance story on demand — part of the same operating backbone behind Uplift OS.
Solution
Built Boxscore — a local-first Rust analyst that takes a property and period and produces an evidence-aware NOI variance narrative, deliberately separating the replaceable model from a durable product harness (data registry, tool registry, gap engine, memory, and report writer).
- Deterministic NOI bridge — aggregates GL actuals and budgets by account, classifies each account as revenue or expense via a multifamily ontology, and computes the revenue, expense, and NOI variance (NOI = revenue − expenses, with contra-revenue like concessions kept negative)
- Driver attribution — ranks every account by its signed NOI impact (revenue beating budget helps NOI, an expense over budget hurts it) and surfaces the top favorable and unfavorable drivers, so a $60k expense overrun never masquerades as a positive variance
- Evidence trail — each narrative claim is persisted with a pointer back to the exact source table, file, and row (“Repairs & Maintenance actual was $X; variance vs budget was $Y”), so an owner gets not just a memo but a verifiable audit trail
- Operating context — joins rent roll (occupancy), delinquency, leasing velocity, and collections snapshots into the narrative, with period-matching guards so March GL is never silently explained with June operating data
- Honest gaps over false confidence — a gap engine flags missing feeds, unreviewed account mappings, and sign-convention anomalies, turns them into prioritized operator questions, and emits a calibrated confidence score rather than overstating certainty
- Knowledge-compounding loop — every analysis records task runs, tool runs, evidence, gaps, and reusable memories; a scored “call ledger” tracks the harness’s predictions (e.g. NOI diagnosis, delinquency risk) and grades them as periods mature
Impact
- Collapses NOI variance diagnosis from a manual, multi-source reconciliation into a single command that returns property-to-account-level drivers
- Every owner-facing claim is traceable to a specific GL row, producing the evidence trail lenders and allocators expect — not just a narrative
- Consistent variance methodology across every property, manager, and period, replacing staff-memory explanations with a standardized, auditable process
- Refuses to publish over-confident analysis: missing data and unmapped accounts are disclosed and routed into operator questions instead of being silently absorbed into NOI
- The harness improves through accumulated gaps, memories, and scored predictions rather than ad-hoc rework — operating intelligence that compounds period over period