Model/backend/epc_api/json_samples
Jun-te Kim 8e33a8de53 test(accuracy): ratchet 77.3% -> 77.7% via flat-roof insulation-thickness fix (Elmhurst-validated)
A FLAT roof lodges its insulation thickness in the DEDICATED gov-EPC API
`flat_roof_insulation_thickness` field (e.g. "75mm"), leaving
`roof_insulation_thickness` None (that field is for pitched-loft joists).
`heat_transmission_from_cert` read only the latter, so a measured
flat-roof thickness was ignored and the roof billed at the uninsulated
age-band flat default (age E = 1.5) instead of its Table-16 insulated U.

Fixed by preferring `flat_roof_insulation_thickness` when the part is a
flat roof — the exact mirror of the existing rafter-thickness branch.
An "AB"/"NI" (as-built/unknown) value parses to None and keeps the
age-band default, unchanged; only measured thicknesses move.

PER-CERT ELMHURST VALIDATION (cert 47084930, top-floor flat, flat roof
75 mm): built on the lodged inputs in accredited Elmhurst RdSAP10-Online
(evidence saved: elmhurst_summary.pdf / elmhurst_worksheet.pdf). The
worksheet bills "insulated flat roof" at U 0.5 (floor 0.70 + wall 0.25
also matching the engine). The fix takes the engine roof 96.4 -> 32.1 W/K
(= 64.26 x 0.5, Elmhurst-exact), PE +47 -> +0.2, SAP 69.51 -> 74.34 =
lodged 74.

Gauge: within 77.3% -> 77.7%, SAP MAE 0.648 -> 0.641, CO2 0.074 -> 0.072,
PE 3.1 -> 2.97. Unit-pinned in test_heat_transmission
(flat_roof_insulation_thickness -> U 0.5); RealCertExpectation 47084930
= 74 (Elmhurst-validated). Also adds the build script build_47084930.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:27:57 +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 77.3% -> 77.7% via flat-roof insulation-thickness fix (Elmhurst-validated) 2026-07-02 23:27:57 +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