Model/backend/epc_api/json_samples
Jun-te Kim cb089a630c test(accuracy): ratchet SAP MAE 0.668 -> 0.658 via instantaneous-electric-DHW off-peak fix
An instantaneous point-of-use electric water heater (WHC 907/909, no
cylinder) on an off-peak tariff was billed 100% at the off-peak LOW rate
by the generic electric-off-peak else-branch. But SAP 10.2 §12 (PDF line
2680) computes the off-peak on-peak HW proportion via Table 13, "dependent
on the total floor area and the CYLINDER size" — it presumes a stored-water
cylinder charged overnight. An instantaneous heater has NO cylinder, heats
on demand, and cannot shift to the off-peak window, so 100% of its
consumption bills at the HIGH rate (Table 12a WH high-rate fraction 1.0).

Both the SAP-cost rate (`_hot_water_fuel_cost_gbp_per_kwh`) and the
ADR-0014 / CO2-PE fraction (`_hot_water_high_rate_fraction`) fixed
consistently (low-rate scalar -> 7-hour high rate; fraction 0.0 -> 1.0).

Localised by deep-diving corpus cert 74061136 (HHR-storage mid-floor flat,
WHC 909): PE matched lodged (+1.6, roof+floor zero-loss) while SAP over-rated
+7.72 — the cost-only signature. Its DHW was ours £59 vs lodged £344 (5.8x);
the tariff was the whole gap. Fix: +7.72 -> -1.25 (residual is separate small
fabric). 7 corpus certs carry electric-instantaneous DHW on off-peak; the 3
outside 0.5 all move sharply inward (MAE the win, not within-0.5 crossings).

RdSAP 10 §12 tariff routing confirmed spec-correct (Unknown meter + storage
409 -> off-peak 7-hour, Rule 2) — the bug was the DHW rate, not the tariff.
Unit-pinned in test_cert_to_inputs; RealCertExpectation 74061136 = 72.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:04:58 +00:00
..
CEPC-7.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
CEPC-7.1 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
CEPC-8.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
RdSAP-Schema-17.0 Map RdSAP-Schema-17.0 certs to EpcPropertyData 🟥 2026-06-12 12:40:04 +00:00
RdSAP-Schema-17.1 Dispatch and map RdSAP-Schema-18.0 certs end-to-end 🟥 2026-06-11 11:12:53 +00:00
RdSAP-Schema-18.0 Dispatch and map RdSAP-Schema-18.0 certs end-to-end 🟥 2026-06-11 11:12:53 +00:00
RdSAP-Schema-19.0 Map RdSAP-Schema-19.0 certs to EpcPropertyData 🟥 2026-06-12 12:19:16 +00:00
RdSAP-Schema-20.0.0 added test for a 1000 examples 2026-06-09 16:02:21 +00:00
RdSAP-Schema-21.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
RdSAP-Schema-21.0.1 added test for a 1000 examples 2026-06-09 16:02:21 +00:00
real_life_examples test(accuracy): ratchet SAP MAE 0.668 -> 0.658 via instantaneous-electric-DHW off-peak fix 2026-07-02 20:04:58 +00:00
SAP-Schema-16.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-16.1 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-16.2 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-16.3 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-17.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-17.1 inviestigation with hyde values 2026-06-15 12:13:11 +00:00
SAP-Schema-18.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-19.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-19.1.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-19.2.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00