Model/tests/fixtures/epc_prediction/BD24JG/cert-7e61d706db57.json
Khalim Conn-Kowlessar 008c1922c4 feat(epc-prediction): anonymised Tier-1 fixture + builder (ADR-0030)
The committed gate needs frozen, reproducible data without dumping real UK
addresses into the repo. Add:
- harness anonymise_payload + stable_hash: hash street address + cert number
  into opaque, dedup-stable tokens; blank secondary address lines + post_town;
  keep postcode + all component/lodged fields (gov data is OGL). Unit-tested.
- scripts/build_epc_prediction_fixture.py: curate qualifying postcodes (>=1
  SAP 10.2 target + >=2 distinct addresses) from the local scratch corpus,
  anonymise, freeze under tests/fixtures/epc_prediction/.
- The frozen fixture: 15 postcodes / 280 certs / 36 SAP-10.2 targets.
  Verified no plaintext address_line_1 and post_town all blank.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 09:17:27 +00:00

1 line
No EOL
8 KiB
JSON

{"uprn": 100051188779, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 67% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2017-08-24 10:02:11.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 9, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 456}], "immersion_heating_type": "NA", "secondary_heating_type": 631, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-19177dfd3556", "assessment_type": "RdSAP", "completion_date": "2017-08-24", "inspection_date": "2017-08-21", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 102, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2017-08-24", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, dual fuel (mineral and wood)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 340, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": {"value": 34.5, "quantity": "square metres"}, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "I"}, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.53, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 67.54, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 36.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 67, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1313, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.3, "energy_rating_average": 60, "energy_rating_current": 47, "lighting_cost_current": {"value": 96, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 909, "currency": "GBP"}, "hot_water_cost_current": {"value": 131, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 193, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 54, "environmental_impact_rating": 46}, {"sequence": 2, "typical_saving": {"value": 89, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 20, "currency": "GBP"}, "indicative_cost": 20, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 50}, {"sequence": 4, "typical_saving": {"value": 150, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 56}, {"sequence": 5, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": 900, "improvement_type": "T2", "improvement_details": {"improvement_number": 50}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 57}, {"sequence": 6, "typical_saving": {"value": 276, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 66}], "co2_emissions_potential": 4, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 72, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 36, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 55, "environmental_impact_rating": 48}, {"sequence": 2, "typical_saving": {"value": 12, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 58, "environmental_impact_rating": 85}, {"sequence": 3, "typical_saving": {"value": 349, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 61}], "hot_water_cost_potential": {"value": 78, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2244, "impact_of_loft_insulation": -2821, "impact_of_cavity_insulation": -3193, "space_heating_existing_dwelling": 18705}, "energy_consumption_current": 390, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 207, "environmental_impact_current": 40, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "E", "environmental_impact_potential": 66, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 72, "low_energy_fixed_lighting_outlets_count": 8}