Production variance

Actual against expected production, worst first. Sites that cannot be scored appear at the top, not the bottom. Data source: MOCK (shape of public.pulse_monitoring_variance(), docs/sql/002_public_monitoring_bridge.sql — unapplied).

Site-months
5
Needs attention
2

1 critical · 1 under · 0 unscored

Named by project
40%

3 sites with production and no project

Scoreable
100%

0 with no usable expectation

3 of 5 site-months cannot be attributed to a project. Those sites have production readings but no scoop_id mapping, so nothing here can name the customer, dealer or investor group behind them. That is a source-data gap, not a filter — see docs/handoff/warehouse-facts-verified-2026-07-31.md §4.

Production variance for 2026-06, worst first
SiteProjectActualExpectedOf expectedStatus
FLIP-2001(no project mapped)128 kWh848 kWh15%Critical
FLIP-2008(no project mapped)502 kWh1,003 kWh50%Underproducing
FLIP-1005PLS-00141,181 kWh1,245 kWh95%On track
FLIP-2002(no project mapped)668 kWh695 kWh96%On track
FLIP-1001PLS-0001965 kWh974 kWh99%On track

Band thresholds are a proposal, not a decided convention: critical below 50% of expected, underproducing below 85%. Nobody has said what counts as needing attention — they live in one place (src/lib/variance.ts) so the answer is a one-line change.