Heating Degree Days (HDD) and Cooling Degree Days (CDD)
This dataset provides daily and monthly Heating Degree Days (HDD) and Cooling Degree Days (CDD) calculations across regions, including actual and normal values, base temperature settings, and population-weighted aggregations. It is designed for load forecasting, energy sales estimation, and climate impact analysis, supporting both granular and aggregated energy demand insights.
Sample rows
preview · 8 of 110 rows · all 14 columns| record_idstring | aggregation_methodstring | cdd_normalfloat | population_weightedboolean | data_sourcestring | region_namestring | region_codestring | base_temperature_ffloat | datedate | record_typestring | hdd_actualfloat | hdd_normalfloat | cdd_actualfloat | notesstring |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| US-NYC-20220101A | population-weighted | 0 | true | NOAA | New York City | US-NYC | 65 | 2022-01-01 | monthly | 1200.3 | 1180.8 | 0 | Typical January heating load |
| US-LAX-20220701M | other | 655.3 | false | Third-party | Los Angeles | US-LAX | 70 | 2022-07-01 | monthly | 0 | 0 | 670.5 | Tropical zone; higher base temp |
| US-CHI-20220301B | population-weighted | 13.2 | true | NOAA | Chicago | US-CHI | 65 | 2022-03-01 | monthly | 850.2 | 830 | 12.8 | Transitional month; mild cooling |
| US-HOU-20220814D | simple-average | 25.2 | false | Utility | Houston | US-HOU | 65 | 2022-08-14 | daily | 0 | 0 | 27.4 | Heat wave event |
| US-PHX-20230501C | population-weighted | 380.1 | true | NOAA | Phoenix | US-PHX | 65 | 2023-05-01 | monthly | 0 | 0 | 390.7 | blank |
| US-MIA-20220901F | other | 600.6 | false | Third-party | Miami | US-MIA | 75 | 2022-09-01 | monthly | 0 | 0 | 620.4 | Custom base temp for local study |
| US-BOS-20221201H | population-weighted | 0 | true | NOAA | Boston | US-BOS | 65 | 2022-12-01 | monthly | 980.1 | 1002.9 | 0 | blank |
| US-SEA-20221001J | simple-average | 9.7 | false | NOAA | Seattle | US-SEA | 65 | 2022-10-01 | monthly | 220.8 | 225.3 | 10.1 | Transitional month |
| US-DEN-20230101K | population-weighted | 0 | true | NOAA | Denver | US-DEN | 60 | 2023-01-01 | monthly | 1050.6 | 1025.4 | 0 | Lower base temp for local study |
| US-ATL-20220417D | simple-average | 16.2 | false | Utility | Atlanta | US-ATL | 65 | 2022-04-17 | daily | 2.8 | 3 | 17.9 | Spring heat event |
| US-BUF-20220301L | simple-average | 0 | false | NOAA | Buffalo | US-BUF | 65 | 2022-03-01 | monthly | 930 | 940.2 | 0 | blank |
| US-HNL-20230701N | other | 670.6 | false | Third-party | Honolulu | US-HNL | 80 | 2023-07-01 | monthly | 0 | 0 | 690.3 | Tropical zone |
| US-SFO-20220925D | population-weighted | 16.5 | true | NOAA | San Francisco | US-SFO | 65 | 2022-09-25 | daily | 0 | 0 | 18.2 | Late summer heat spike |
| US-DTW-20220201P | population-weighted | 0 | true | NOAA | Detroit | US-DTW | 65 | 2022-02-01 | monthly | 1110.7 | 1092.3 | 0 | Cold winter month |
| US-DFW-20230601Q | simple-average | 420.2 | false | NOAA | Dallas | US-DFW | 65 | 2023-06-01 | monthly | 0 | 0 | 440.9 | Early summer |
| US-PHL-20220501R | population-weighted | 215 | true | NOAA | Philadelphia | US-PHL | 65 | 2022-05-01 | monthly | 100.8 | 98.2 | 220.7 | Transitional month |
| US-CLT-20221223D | simple-average | 0 | false | Utility | Charlotte | US-CLT | 65 | 2022-12-23 | daily | 42.1 | 40.5 | 0 | Cold snap event |
| US-SLC-20230201S | population-weighted | 0 | true | NOAA | Salt Lake City | US-SLC | 65 | 2023-02-01 | monthly | 950.4 | 945.9 | 0 | blank |
| US-MSP-20230301T | population-weighted | 4.7 | true | NOAA | Minneapolis | US-MSP | 60 | 2023-03-01 | monthly | 850.9 | 845.2 | 5.3 | Custom base temp for cold study |
| US-PDX-20221101U | simple-average | 0 | false | NOAA | Portland | US-PDX | 65 | 2022-11-01 | monthly | 420.8 | 430.6 | 0 | Mild November |
What the 110 rows show
from the 110-row sampleOther (aggregation method) stands out: mean cdd_
- 46%population_
weighted = true - 16.4median cdd_
normal - 2record types
- 65median base_
temperature_ f - 40.4median hdd_
actual - 38.6median hdd_
normal
Median 16.4, from 0.0 to 691.5.
- string 7
- float 5
- date 1
- boolean 1
Columns
14 columns in four groups| column | type | description | example |
|---|---|---|---|
| Text 7 columns | |||
record_id | string | Unique identifier for each degree day recordunique | US-NYC-20220101A |
region_name | string | Name of the geographic region (e.g., state, city, or aggregation) | New York City |
region_code | string | Standardized code for the region (e.g., FIPS, ISO, or custom) | US-NYC |
record_type | string | Indicates whether the record is daily or monthlydaily · monthly | monthly |
data_source | string | Source of the degree day data (e.g., NOAA, utility, third-party)3 sources · optional | NOAA |
aggregation_method | string | Method used for regional aggregation (e.g., simple average, population-weighted)simple-average · population-weighted · other · optional | population-weighted |
notes | string | Additional notes or comments about the recordoptional | Heat wave event |
| Numbers 5 columns | |||
base_temperature_f | float | Base temperature in degrees Fahrenheit used for degree day calculation (typically 65°F)30 to 80 | 65 |
hdd_actual | float | Actual Heating Degree Days calculated for the period0 or more · optional | 1200.3 |
hdd_normal | float | Normal (historical average) Heating Degree Days for the period0 or more · optional | 1180.8 |
cdd_actual | float | Actual Cooling Degree Days calculated for the period0 or more · optional | 0 |
cdd_normal | float | Normal (historical average) Cooling Degree Days for the period0 or more · optional | 0 |
| Dates and times 1 column | |||
date | date | Date for daily records, or the first day of the month for monthly records | 2022-01-01 |
| True or false 1 column | |||
population_weighted | boolean | Indicates if the degree day calculation is population-weighted for the region | true |
Use it for
An energy dashboard
The population_
weighted rate, cdd_ normal by aggregation_ method and a breakdown of data_ source. Excel, Power BI or Tableau. Why do the 18 other rows have a mean cdd_
normal of 597.2? A root-cause class exercise
Hand out the rows and one question. The answer is in the data, not in the brief.
- Records110US-NYC-20220101A0populati…US-LAX-20220701M655.3otherUS-CHI-20220301B13.2populati…
A software demo
Believable records with region_
name, region_ code and population_ weighted to fill a screen in front of a buyer.
blueprint · heating-degree-days-hdd-and-cooling-degree-days-cdd
Behind this dataset
Same schema. As many rows as you need.
These 110 rows came out of a blueprint — 14 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.
- Date and geographic region (service territory, state, weather zone)
- Base temperature: 65°F (18.3°C) standard, custom for specific applications
- HDD = max(0, base temp - average temp) for heating load
- CDD = max(0, average temp - base temp) for cooling load
- Population-weighted HDD/CDD for multi-city territories
- 30-year normal HDD/CDD for comparison to actual
- Cumulative HDD/CDD for month-to-date and year-to-date
- Correlation with natural gas sendout or electric load (kWh per HDD/CDD)
1 credit per row. Preview 20 rows free. Buy rows for the full run.
- Exports
- CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
- Licence
- yours to use, including commercially
- API slug
- heating-degree-days-hdd-and-cooling-degree-days-cdd