Blog
How to model and predict electricity usage for a heat pump – GreenBuildingAdvisor
- April 12, 2025
- Posted by: sherwin@eyeconz.com
- Category: Uncategorized
The obvious question when considering a heat pump is how much electricity it will use and whether it will save money compared to other heating options. With a heat pump this is a more complicated question than with a combustion heating source. With combustion, a BTU is basically a BTU, you can calculate a house’s BTU per heating degree day and multiply it by the degree-days for that climate and get a pretty good idea of how much energy it’s going to use.
With a heat pump, the BTUs produced per unit of electricity depends upon the outside temperature as well as the heating load relative to the capacity of the heat pump. Most heat pumps are more efficient at part load than at full load. So projecting the energy usage of a heat pump depends upon the building, the climate, and the heat pump.
I’m going to present a methodology for estimating energy usage. As an example, I’ve prepared a spreadsheet where I implement this methodology for an imaginary house in Boston, MA.
The spreadsheet is at:
https://docs.google.com/spreadsheets/d/1Ypd-CbwBXfya-9S8t9qCKdnMm-6cvj5VDhXJO80sgLc/edit?usp=sharing
Step 1: gather information about your house
You need to know the heating load for your house. If it’s an existing house and you have a fuel use history from heating it in the past, you can use the method in this article: https://www.greenbuildingadvisor.com/article/replacing-a-furnace-or-boiler
If it’s new construction or extensively renovated, you’ll have to estimate the heating load using Manual J or another estimating technique.
Since in this example I’m using an imaginary house, I’m just assuming that the heating load is 30,000 BTU/hr. In my spreadsheet, in the “Assumptions” section of the “Summary” tab that goes into cell B4.
Step 2: Gather information about your heat pump
The best place to get information is the online database maintained by NEEP.org at https://ashp.neep.org/#!/product_list/ . They have performance information on over a hundred thousand heat pumps. Each unit has a product page, and on the product page there is a section labeled Performance Specs which has minimum and maximum output, and COP at each point, for several temperatures.
For my example, I’m using a Mitsubishi M-Series, 3 ton nominal. The NEEP page is at: https://ashp.neep.org/#!/product/34584/7/25000/95/7500/0///0
Information about it goes into the tab “Heat Pump Performance Curve.” In cells K2 to Q13 I pasted the performance specs copied from the NEEP website. Cells A2 to H6 are organized to reformat the pasted data in a more usable layout.
Step 3: gather information about your climate
If you are in the US, NEEP will provide this for you. On the heat pump product page there is a link labeled “Advanced Data – System Sizing.” If you click on that link you get a form where to put in your zip code and it will let you pick a weather station from a dropdown list of nearby ones. Then put in the heat load that you calculated in Step 1, and click on “Run System Sizing.”
This will produce a chart showing system performance at various temperatures. In the upper right corner of the chart there is a button with three horizontal lines. Click on that and select “Download CSV” from the menu that pops up.
The downloaded data is a table of performance at temperature, with each row representing a degree F. Column J is heating load at that temperature, and column K is annual load at that temperature. Dividing column K by column J gives annual hours at that temperature, which is what you’ll need.
In the tab “Data from NEEP.org” I pasted in the downloaded information. The Neep data goes down to -67F, but since the average annual low for Boston is -6F, I only copied cells for that temperature and above.
For reasons that aren’t clear to me NEEP has two rows for the design temperature, in this case 13F. So after pasting you have to delete one of the rows.
NEEP will also tell you the design temperature. That goes into the “Assumptions” area of the “Summary” tab in cell B3.
Step 4: At every temperature of your heating season, calculate the heating load
You have the heating load and design temperature from Step 1, this is a simple straight-line extrapolation based on the difference between indoor and outdoor temperatures.
In the “Summary” tab the calculated load is in column C and repeated in the tab “Heat Pump Performance Curve” in column F.
Step 5: At every temperature of your heating season, calculate the minimum and maximum output of your heat pump, and the COP at those outputs.
Again, this is a straight-line approximation. The heat pump performance data gave minimum and maximum outputs for several temperatures. For temperatures between those points, just do a straight-line interpolation between the two closest temperatures. Do the same for COP.
In the tab “Heat Pump Performance Curve” this is in columns B through E.
Step 6: At every temperature of your heating season, calculate the COP at the heating load calculated in step 4, and calculate the electricity used using that COP
For each temperature, if the calculated heating load from step 4 is between the minimum and maximum output calculated in Step 5, do a straight-line approximation between them to get the estimated COP. If the load is below the minimum output use the minimum output COP, and if the load is greater than the maximum output use the maximum output COP.
In the tab “Heat Pump Performance Curve” the calculated COP at load is in column G.
In the tab “Summary” the calculated heat pump output is in column G and electricity usage is in column J.
Step 7: Adjust for undersizing
If the load is greater than the maximum output at that temperature, supplemental heat will be needed. I assume that the supplemental heat is resistance heat with a COP of 1.0.
In the tab “Summary” the supplemental heat needed is in column K.
Step 8: Adjust for short-cycling
If the load is less than the minimum output, the heat pump will cycle on and off. This will cause some efficiency loss. I’ve tried to quantify that, but I’ve been unable to come up with any method of doing so. My best guess is that every time the unit turns on there are two minutes of runtime before it starts producing, and the shortest part of any cycle will be ten minutes.
If the duty cycle is more than 50% the off-time will be ten minutes and the on-time will be whatever gives the needed duty cycle. For example, if the duty cycle is 75% the off time will be ten minutes and the on time will be 30 minutes. There will always be two minutes of lost output, so the efficiency hit will be two minutes divided by the on time; in this case, 2/30 or 6.7%.
If the duty cycle is less than 50% the on time will be ten minutes and the off time will be something greater. The efficiency loss will always be 20%. I don’t know how accurate this estimate is. I include it because if you don’t, you’ll come to the conclusion that bigger is always more efficient, which suggests gross oversizing.
In the tab “Summary” the calculated short-cycling penalty is in column H in percent and column I in kWh.
Step 9: Total it all up.
The final step is to add up the electricity usage for each row, and then add them all up to get total annual projected usage. If you divide that by total annual heating load you get weighted average COP.
In the tab “Summary” the total electricity usage for each row is in column L. The weighted average COP is in cell F12. In this case it’s 3.3.