atoma dashboards: eligible needs >= 30 matched days; modelled L/h as table B11
SPEC.md follows the owner's decisions of 24 Oct. The "eligible" baseline state asks for >= 30 matched days (was 60). Modelled L/h is in v1 as table B11 on Baseline & Evidence (v_modelled_lph): titled as modelled from an assumed runtime, not measured, and never in S1, the map or the M3 sites list; the datasets table and acceptance check 4 include it. The migrations are unchanged: the threshold is applied by the loader's baseline propose, not by SQL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bc27bf2356
commit
97284052c1
1 file changed
+9
-5
@@ -86,7 +86,7 @@ and no reference to L/h:
|
||||
| Status | Definition (`fm.v_site_baseline_status`) | Colour |
|
||||
|---|---|---|
|
||||
| Approved baseline | an approved `baseline_version` with a decision reference. The **only** state that says "approved" | teal #009688 |
|
||||
| Eligible – not yet approved | no approval; the latest proposed KPI version has `meets_policy` (BP-1: ≥ 2 eligible G1 inputs, ≥ 60 matched days, no conditions, one population and metric) | blue #3987e5 |
|
||||
| Eligible – not yet approved | no approval; the latest proposed KPI version has `meets_policy` (BP-1: ≥ 2 eligible G1 inputs, ≥ 30 matched days, no conditions, one population and metric) | blue #3987e5 |
|
||||
| Provisional | no approval; a proposed version below BP-1, **or** usable intervals with no version yet (no estimate shown, method "no baseline version proposed") | amber #c98500 |
|
||||
| Insufficient evidence | no usable interval. **Every pilot site while no runtime evidence exists** | slate #64748B |
|
||||
|
||||
@@ -139,6 +139,7 @@ Baseline & Evidence [B1 Baseline versions w6][B2 Inputs of each version w6]
|
||||
[B5 Assumptions w6][B6 Missing data and quality checks w6]
|
||||
[B7 Evidence references w6][B8 Workbook calculations, assessed w6]
|
||||
[B9 Stock against engine-measured fuel w6][B10 Equipment specifications w6]
|
||||
[B11 Modelled L/h under an assumed runtime w12]
|
||||
```
|
||||
|
||||
| # | Question it answers | Type | Dataset | Dims / measures (units) | Grain | When data are missing or insufficient |
|
||||
@@ -165,9 +166,11 @@ Baseline & Evidence [B1 Baseline versions w6][B2 Inputs of each version w6]
|
||||
| B8 | What did the operator workbook calculate, and is it usable? | Table | v_imported_calculation | label, formula, value, our reading, use, reason, `claim_status` | cell | Shows "excluded" with the reason for "actual L/h" and "CP L/h". A disputed transcription shows its status, without formula or value |
|
||||
| B9 | Does stock depletion match engine-measured fuel? | Table | v_reconciliation | stock L, engine L, `covered_h` of `interval_h`, difference L and %. The window runs from the opening visit's departure to the closing visit's arrival. The difference is shown only for an `ok` stock interval with both visit times recorded, in which every generator is placed at the site throughout and covered for the whole window | interval × generator | "No flow-meter data yet"; partial coverage, unknown visit times or a mid-interval placement show the hours covered and no difference |
|
||||
| B10 | What does the equipment specification say? | Table | v_spec_reference | attribute, value, unit, basis, applicability, `claim_status` | spec | Titled "Manufacturer and nameplate data, not site performance". A disputed specification shows its status, without value |
|
||||
| B11 | What would L/h be under the stated runtime? | Table | v_modelled_lph | assumption code, status, basis; h/day with low–high; window, `matched_days`; L/day; modelled L/h with low–high; `value_kind` | site × assumption | Titled "Modelled from an assumed runtime, not measured". "No runtime assumption recorded" |
|
||||
|
||||
Modelled L/h (M3) gets a table on Baseline & Evidence only if Q9 approves a runtime assumption. It
|
||||
pools only the usable intervals inside that assumption's dates, and shows that window and its days.
|
||||
Modelled L/h (B11) is in v1 (Q9, decided 24 Oct 2026). It pools only the usable intervals inside
|
||||
the runtime assumption's dates, and shows that window and its days. It never reaches S1, the map or
|
||||
the M3 Sites list.
|
||||
|
||||
## 5. Datasets and filter mapping
|
||||
|
||||
@@ -186,7 +189,7 @@ four site columns from `v_site`: `site_uid`, `site_code`, `site_name`, `site_lab
|
||||
| v_hour_meter_evidence | reading | R2 | Site, Viewing period |
|
||||
| v_electricity_cost | bill month | R4 | Site, Viewing period |
|
||||
| v_baseline_version, v_baseline_input | version (× interval) | B1, B2 | Site |
|
||||
| v_assumption, v_data_quality, v_evidence, v_imported_calculation, v_reconciliation, v_spec_reference | per view | B5–B10 | Site |
|
||||
| v_assumption, v_data_quality, v_evidence, v_imported_calculation, v_reconciliation, v_spec_reference, v_modelled_lph | per view | B5–B11 | Site |
|
||||
|
||||
**Metrics.** Saved metrics enforce pooling, with the same eligibility filter on numerator and
|
||||
denominator, e.g. `pooled_l_per_h = SUM(CASE WHEN eligibility <> 'excluded' THEN fuel_used_l END)
|
||||
@@ -253,7 +256,8 @@ Run in P2 against a local Superset, and repeated as a smoke test in P3.
|
||||
4. **Unavailable L/h.** For each pilot site:
|
||||
- the tooltip and M3 say "not available" with the method "no runtime evidence";
|
||||
- S1 shows the insufficient-evidence state plus L/day;
|
||||
- B3 shows every interval excluded, with its reason.
|
||||
- B3 shows every interval excluded, with its reason;
|
||||
- B11 shows a modelled range labelled "not measured", and that figure appears nowhere else.
|
||||
5. **Missing coordinates.** A site without an accepted location is not plotted, is listed in M5
|
||||
and counted in M4, and its link opens its detail.
|
||||
6. **Filter propagation.**
|
||||
|
||||
Reference in new issue
Block a user