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
- Named by project
- 40%
- Scoreable
- 100%
1 critical · 1 under · 0 unscored
3 sites with production and no project
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.
| Site | Project | Actual | Expected | Of expected | Status |
|---|---|---|---|---|---|
| FLIP-2001 | (no project mapped) | 128 kWh | 848 kWh | 15% | Critical |
| FLIP-2008 | (no project mapped) | 502 kWh | 1,003 kWh | 50% | Underproducing |
| FLIP-1005 | PLS-0014 | 1,181 kWh | 1,245 kWh | 95% | On track |
| FLIP-2002 | (no project mapped) | 668 kWh | 695 kWh | 96% | On track |
| FLIP-1001 | PLS-0001 | 965 kWh | 974 kWh | 99% | 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.