Heating / Cooling Energy vs Degree Days (CDDs/HDDs)

Wow, glad to see people are really digging into this data, and fast.

I’ll throw 1 of mine in the mix, seems fairly basic compared to the processing above, but this has been incredibly helpful in tracking usage and $, as well as impact of any major changes.

I’ve essentially been tracking daily kWh usage manually, and comparing with total degree days (TDD), to trend usage with HVAC. I’ve found that my geothermal heat pump (GTHP) is by far the primary user in cold months, and there is a clear trend between HDD and kWh (and subsequently $/day). The trend, with an R^2 of ~0.9, allows me to accurately predict my daily / monthly bill based on weather forecast and historical/expected TDD.

Also, I made some changes in March, Success Story - Payback in <4 months, the effects of which can be seen in the shift between data sets (red to orange). The general trend follows a similar slope, but shifted down >10kWh / day. That alone brought approximately $45/month savings, with smaller incremental changes on top of that.

In cooling months, the GTHP is much more efficient, and therefore a lower percentage of the total daily use. So, the scatter for May-Sept is a shotgun pattern, without a clear discernible trend. Also, the GTHP usage is intermittent, as the cooling requirements are not only tied to average outside temps, but sunshine/cloud cover, etc. So in general, cooling requirements don’t trend as closely to TDD as heating.

This has been fairly quick to update semi-manually, but I suspect the data export will make all of this tracking nearly automatic.


While this doesn’t really need the raw Sense data to track total kWh / day, that is the easiest way to track this for me. However, the Sense data is most helpful when I want to dig further into any of those days, to better understand consumption outliers. I can quickly see how a few loads of laundry, for example, might throw a day to higher than normal consumption. Or how a -12°F day in January is just plain miserable for both comfort and $$.

1 Like

From the whole team here at Sense — this thread has been awesome to follow. Keep it coming!

Cool ! What’s your source for heating degree days (HDD) and cooling degree days (CDD) data ? Kind of nice to see the actual ROI from your improvements.

Weather underground has good weekly/monthly summaries, and forecasts, but no longer offers free API.

https://www.degreedays.net/ has historical data, but seems you have to pay for API now as well.

NOAA Offers XML Feeds as well - NOAA - National Weather Service - XML data feeds - Current Conditions


Thanks - I have about a year’s worth of Ecobee and Sense data, but am looking for an authoritative source for local degree days and also for temperatures by the hour for a little fun analysis.

@shanefinn03 – Thank you for the info on weather temperature indexes. You inspired me to review my data.

I analyzed my home HVAC energy usage with the CDD index. I have a two-story house with two electric central HVAC units (with gas-fired heating). We live on the Texas Gulf Coast so we generally are always cooling the house. I did not run a ‘HDD comparison’ because we use gas for heating. I do not have an ECOBEE type of thermostat that allows me to gather any daily information on runtimes.

_“Cooling degree days”, or “CDD”, are a measure of how much (in degrees), and for how long (in days), outside air temperature was higher than a specific base temperature. They are used for calculations relating to the energy consumption required to cool buildings. Quoted from: https://www.degreedays.net/_

Setup Steps:

  1. I extracted the daily readings from the ‘SENSE V4.0 web version’
    from 9/14/2017 through 8/27/2018.
  2. I downloaded my local weather readings using 75 degF as the baseline for CDD from https://www.degreedays.net/
  3. I combined all of the .CSV files into a single Excel file for 2017 and 2018.
  4. I setup my calculations in Excel:
  • Total KWh/day = AC1 + AC2 (I only have the compressor wattage readings from SENSE. SENSE has not discovered my blower fan motors for each HVAC unit.)
  • I did not remove any bad data. I attempted to delete bad data and found the same correlation and trend.

Plotting Charts in Excel (Windows 10):

First, I plotted the SENSE values against the CDD values using a simple scatter graph. This allowed me to determine which days might be bad data. Then I plotted a linear regression.

Second, I also deleted what appeared to be bad data points and plotted a second chart.

If the R2 factor is 1.00, then the data points would be a perfect correlation. I am only posting the first chart showing ‘all data for all days’.


Both charts had similar slopes and R2 values. There is a large scattering of data points away from the baseline. My correlation value (R2) was 0.835 I am not certain that I can find a 100% direct correlation between the outside temperature (CDD) and the amount of energy that is used to cool our house. I think our home energy usage for cooling the house is based upon several factors:

  • Outside temperature.
  • How humid is it outside / inside.
  • The amount of stove top or oven cooking occurring.
  • The number of times we enter or exit the house on a daily basis.
  • The amount of laundry done for that day.
  • Our personal preference for the thermostat set-point on that day.
  • Whether we have family or guests visiting.

What I did notice is that ‘shanefinn3 R2 values’ were similar to my R2 values. I would be interested to see a similar type of charting that anyone has created and hear their thoughts.

@shanefinn03, @Dcdyer, @kevin1, @RyanAtSense,
I have a couple apps that utilizes openweathermap.org for temperatures.
Can any if you peek at this? It would be interesting to know which source appears to be the most powerful for when I can get back to developing.

1 Like

I’m more about the data and less about the code. So I would be likely to use Dcdyer’s other link, https://www.degreedays.net, to bring in weather data from the most local weather station. It looks like it gives what’s needed straight off the shelf.

@shanefinn03 & @Dcdyer,

I finally had a chance to plot my AC cooling runtimes vs. Cooling Degree Days. As I suspected, outside temperature is only one factor in the equation. The length of sunshine during the day also plays a strong role - months with more sun show bigger slopes (runtime / degree day). I might try plotting against CDDs and my daily solar generation to get a better picture. Thanks for your encouragement.

1 Like

The same charts plotted with solar production as the color. Solar energy production should be a great proxy for solar heating of the stucco on the sides of my house ! Looks about right with the slope increasing with increasing solar energy (except in a few cases).

To: @kevin1
I would be interested to see your data presented in the same form that @shanefinn03 and @dcdyer presented ours. ‘Total KWH wattage for all A/Cs: y-axis’ vs. ‘CCD index: x-axis’. (one graph, one slope). Could you also provide the R2 correlation and slope variables. That would allow us to compare our analysis with yours. My thermostats do not provide runtimes. I am still impressed at the amount of data you have collected and the detailed data analysis you provide. Thanks Don

Thanks Don,

I held back on using Sense identified energy because I saw so much conflation of Sense devices depending on the season - I have 5 different identified Sense AC devices that all correlate to my Ecobee runtimes at different points in the year:

Since Ecobee runtimes during cooling are far more accurate than “batched together” Sense energy numbers, and since I have simple 1-stage AC units, what I’ll do is multiply runtime by what think to be the actual power usage of each unit (based on rated numbers and Sense numbers). I think that will give the most accurate view in energy vs. CCD comparisons. Then I’ll do the regression graphs and linear model fitting.

ps: My Ecobee’s are more accurate for cooling, but I have a furnace issue that renders my downstairs Ecobee far less accurate during the heating season. My cold air returns are too small, leading to the cutout switch turning the furnace off after about 5 minutes of runtime, cutting power to the Ecobee, and leading to a subsequent reboot.

@Dcdyer & @shanefinn03,

Here’s my assessment based on the methodology I outlined. I estimated my lower unit at 4.7kW and upper unit at 3.5kW. The slope numbers are in the same ballpark. As I expected, the upper number has better correlation since we cool the bedrooms more consistently than the downstairs, which has better airflow and stays cool much longer into the day. Most of our AC usage upstairs is from1pm onward. Maybe 3pm or later for the downstairs unit.



@kevin1 I was hoping that you would post one graph with one line that added both your “downstairs” and “upstairs” total daily kwh vs. CDD index. (A whole house consumption comparsion). I forced my linear calculation thru ‘zero’. From your graphs, it appears that your home is more energy efficient than mine. I see a lot of daily values that are 0 kWh usage so I am guessing that you turn off your A/C units when you are not home.


Thanks for straightening me out. Here’s the whole house plot. Our slope numbers are actually quite close - Both 3.6kW / CDD. And my R2/correlation is surprising better as well. But a few additional thoughts / questions.

  1. I’m going to need to redo if I want to match up against your results. I used CDD65 while you used CDD75, because that was the default for the website I used (partially because that’s the typical US baseline standard). That would change my intercept, but not the slope. Sorry I didn’t read your explanation more carefully earlier - I should have noticed the difference when your were showing a smaller number of cooling degree days in Texas than I saw for the CA Bay Area microclimate I’m in.

  2. My AC units are not that efficient - 20 year old SEER 11.5 units. But the Ecobee thermostats do turn up AC threshold when sensors tell it that we’ve been out of that part of the house for 15 min or longer.

  3. House is about 4000 sq feet, with reasonable insulation, but no attic fan. We keep the heating / cooling numbers at 68 degrees and 74 degrees when we are home, but we have someone home nearly all the the time.

  4. Our biggest cooling challenge is solar heating of roof and stucco, not air temp or humidity. That’s why we need to cool, even when the outside temperature might be below the the air temperature.

1 Like