Dataset Overview
This dataset estimates heat demand for non-domestic buildings, such as shops, offices, warehouses, and other commercial premises.
The goal is to provide a best-estimate heat demand profile for each building, including annual heat demand (kWh), energy use intensity (kWh/m²), and peak heating load (kWp).
Each building is also classified into a heat demand band (from "Very low" to "Extreme") and flagged to indicate whether it should be used as the representative record for its building footprint, to help avoid double-counting in multi-occupied buildings.
Figure 1: Buildings are colour-coded by annual heat demand (kWh). Lighter shades indicate lower demand, darker reds indicate higher energy demand.
Methodology
Building Data:
Building data is extracted from OS NGD Building and OS NGD Address data. Only non-domestic properties are included. Each building is mapped to a sector (e.g. "Offices (private)", "Primary schools", "Factories") using its OS AddressBase classification codes. If no specific sector match is found, a general sector is used (e.g. "General retail", "General office").
Heating Degree Days:
Each building is spatially matched to regional weather data to determine its Heating Degree Days (HDD) and external design temperature. HDD is a measure of how cold a location is over a year, used to scale heating demand to local climate conditions. Buildings are matched to the weather region they fall within; where a building spans two regions, the region with the greatest overlap is used.
Building Size:
Larger buildings generally need more heating, but not proportionally. Each building's floor area is compared against typical sizes for its sector using distributions from the Building Energy Efficiency Survey (BEES). This produces an area percentile, which determines where the building falls within the sector's energy intensity range.
Energy Intensity:
The area percentile is mapped to an energy intensity value (kWh/m²) using BEES benchmarks for the building's sector. This represents the total energy use per square metre for a typical building of that size in that sector.
Calculating Heat Demand:
The heat demand per m² is calculated by multiplying the energy intensity by the sector-specific share of energy used for heating (also from BEES). For example, if a building's energy intensity is 200 kWh/m² and 50% of energy in that sector goes to heating, the heat demand intensity is 100 kWh/m².
The total annual heat demand is then:
Annual heat demand = Heat demand per m² x Premise area
Peak Heating Load:
The peak heating load (kWp) represents the maximum rate of heat delivery the building would need on the coldest day of the year. It is calculated by adjusting the annual heat demand using regional climate data:
Peak demand = Annual heat demand x (Ti - Te) / HDD
Where Ti is the indoor design temperature (21 °C), Te is the external design temperature (the coldest recorded temperature for the region), and HDD is the regional Heating Degree Days.
Where a sector-specific daily energy usage pattern is available (from BEES), this is used to convert the daily peak to an hourly peak. Where no pattern is available, the daily peak is divided by the sector's typical operating hours and multiplied by 2 as a safety factor.
Heat Demand Banding:
Each building is classified into a heat demand band based on its annual heat demand:
Very low: up to 4,000 kWh
Low: 4,001 to 12,000 kWh
Medium: 12,001 to 50,000 kWh
High: 50,001 to 200,000 kWh
Very high: 200,001 to 1,000,000 kWh
Extreme: above 1,000,000 kWh
Handling Parent Shells:
Some non-domestic buildings are recorded as parent shells with multiple internal child units (e.g. shopping centres, industrial estates). To avoid under- or over-estimating heat demand:
Parent shells are identified using the AddressBase Classification Code.
The parent's sector is determined by selecting the most common classification code among its child premises.
The parent shell's heat demand is estimated using that derived sector.
Reconciliation: if the parent shell's annual and peak demand are both lower than the sum of all its children's demand, the parent's values are replaced with the children's totals. This ensures that buildings with multiple occupiers have physically consistent total heat demand.
Avoiding Double-Counting:
Some non-domestic buildings contain multiple address records. A Shell represents the whole building, a Parent groups related units within it (such as a floor or wing), and a Child is an individual occupiable unit.
For example, a shopping centre may have a single Shell record for the whole building and individual Child records for each retail unit. If you sum the heat demand of all records, you will double-count these buildings.
To avoid this, each record includes a "Representative of building" flag. To calculate the total heat demand for an area, sum only the records where "Representative of building" is True. This selects one record per building footprint:
Where a Shell record exists, the Shell is the representative (it reflects the whole building's demand).
Where only Parent and Child records exist, the Parent with the largest premise area is the representative.
Where only Child records exist (no Shell or Parent), each Child is counted individually.
Assumptions
Area percentile directly correlates with energy-intensity percentile.
The indoor design temperature is fixed at 21 °C.
Where no sector-specific energy usage pattern is available, the peak heating load is estimated as twice the daily demand divided by typical operating hours.
All final outputs are rounded to 2 decimal places.
Sources
Fields
Field Name | Field Description |
UPRN | Unique Property Reference Number. |
Parent UPRN | Unique Property Reference Number immediately above in the building hierarchy. |
Premise Area (m^2) | Total floor area of the premise |
Building Height (m) | Total height of the premise. In the case of standalone buildings, it matches the building height at the lowest point of the eaves. |
Peak Heating Load (kWp) | Maximum heating load for premise |
Annual Heat Demand (kWh) | Annual Heat Demand (kWh) |
Annual Heat Demand per m^2 (kWh/m^2) | Annual Heat Demand per m² of floor area |
Heat Demand Banding | Categories the annual heat demand (kWh) of the property as 'very low', 'low', 'medium', 'high', 'very high', or 'extreme'. |
Represents Total Heat Demand | This field can be used to obtain the total heat demand of a local authority or other large area. Filter to rows where this field = True to avoid double counting heat demands which are split between parent and child UPRNs within the same building. |
Type | Classification of the building according to building topology (i.e.: Shell, Parent, Child). |