• Energy
  • 14 columns
  • 110 rows
  • 8 formats

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.

  • last updated 2 Nov 2025
  • by GoMask
The brief that made it

Utility load forecasting and demand planning

Sample rows

preview · 8 of 110 rows · all 14 columns
record_idstringaggregation_methodstringcdd_normalfloatpopulation_weightedbooleandata_sourcestringregion_namestringregion_codestringbase_temperature_ffloatdatedaterecord_typestringhdd_actualfloathdd_normalfloatcdd_actualfloatnotesstring
US-NYC-20220101Apopulation-weighted0trueNOAANew York CityUS-NYC652022-01-01monthly1200.31180.80Typical January heating load
US-LAX-20220701Mother655.3falseThird-partyLos AngelesUS-LAX702022-07-01monthly00670.5Tropical zone; higher base temp
US-CHI-20220301Bpopulation-weighted13.2trueNOAAChicagoUS-CHI652022-03-01monthly850.283012.8Transitional month; mild cooling
US-HOU-20220814Dsimple-average25.2falseUtilityHoustonUS-HOU652022-08-14daily0027.4Heat wave event
US-PHX-20230501Cpopulation-weighted380.1trueNOAAPhoenixUS-PHX652023-05-01monthly00390.7blank
US-MIA-20220901Fother600.6falseThird-partyMiamiUS-MIA752022-09-01monthly00620.4Custom base temp for local study
US-BOS-20221201Hpopulation-weighted0trueNOAABostonUS-BOS652022-12-01monthly980.11002.90blank
US-SEA-20221001Jsimple-average9.7falseNOAASeattleUS-SEA652022-10-01monthly220.8225.310.1Transitional month

What the 110 rows show

from the 110-row sample

Other (aggregation method) stands out: mean cdd_normal is 597.2, against 78.1 for the rest.

  • 46%population_weighted = true
  • 16.4median cdd_normal
  • 2record types
  • 65median base_temperature_f
  • 40.4median hdd_actual
  • 38.6median hdd_normal
Mean cdd_normal by aggregation_method110 rows
040080062.7simple-avera…41 rows90.4population-w…51 rows597.2other18 rows
cdd_normal110 rows, in bands of 100
040807383245150400700cdd_normal →

Median 16.4, from 0.0 to 691.5.

data_source110 rows · 3 values
  1. NOAA68
  2. Third-party24
  3. Utility18
14 columns by typefrom the column list below
  • string 7
  • float 5
  • date 1
  • boolean 1

Columns

14 columns in four groups
blueprint · 14 columns
columntypedescriptionexample
Text 7 columns
record_idstringUnique identifier for each degree day recorduniqueUS-NYC-20220101A
region_namestringName of the geographic region (e.g., state, city, or aggregation)New York City
region_codestringStandardized code for the region (e.g., FIPS, ISO, or custom)US-NYC
record_typestringIndicates whether the record is daily or monthlydaily · monthlymonthly
data_sourcestringSource of the degree day data (e.g., NOAA, utility, third-party)3 sources · optionalNOAA
aggregation_methodstringMethod used for regional aggregation (e.g., simple average, population-weighted)simple-average · population-weighted · other · optionalpopulation-weighted
notesstringAdditional notes or comments about the recordoptionalHeat wave event
Numbers 5 columns
base_temperature_ffloatBase temperature in degrees Fahrenheit used for degree day calculation (typically 65°F)30 to 8065
hdd_actualfloatActual Heating Degree Days calculated for the period0 or more · optional1200.3
hdd_normalfloatNormal (historical average) Heating Degree Days for the period0 or more · optional1180.8
cdd_actualfloatActual Cooling Degree Days calculated for the period0 or more · optional0
cdd_normalfloatNormal (historical average) Cooling Degree Days for the period0 or more · optional0
Dates and times 1 column
datedateDate for daily records, or the first day of the month for monthly records2022-01-01
True or false 1 column
population_weightedbooleanIndicates if the degree day calculation is population-weighted for the regiontrue

Use it for

  • population wei…46%51 of 110 rowsmean cdd normal by ag…62.7simple…90.4popula…597.2other

    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.

  • A software demo

    Believable records with region_name, region_code and population_weighted to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 14 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset110 rows14 columns
Yours1,000 rows14 columnsregion_name: UK only

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.

Rules it was built with
  • 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)
Rows
Open the blueprint in Data Factory

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

What should your data show?

Preview 20 rows free
No signup. No card.