The straight-forward way is to read off two energy values at the end of a period – day, month, or season:
- The electrical energy used by the heat pump
- and the heating energy delivered.
The Seasonal Performance Factor (SPF) is the ratio of these – the factor the input electrical energy is ‘multiplied with’ to yield heating energy. The difference between these two energies is supplied by the heat source – the underground water tank / ‘cistern’ plus solar collector in our setup.
But there might not be a separate power meter just for the heat pump’s compressor. Fortunately, performance factors can also be evaluated from vendors’ datasheets and measured brine / heating water temperatures:
Datasheets provide the Coefficient of Performance (COP) – the ‘instantaneous’ ratio of heating power and electrical power. The COP decreases with increasing temperature of the heating water, and with decreasing temperature of the source – the brine circuit immersed in the cold ice / water tank. E.g when heating the water in floor loops to 35°C and the water in the underground tank is frozen (0°C), the COP is a bit greater than 4. The textbook formula based on Carnot’s ideal process for thermodynamic machines is 8,8 for 0°C/35°; realistic COPs are typically lower by about factor of 2.

If you measure the temperature of the brine and the temperature of the heating water every few minutes, you can determine the COP from these diagrams and take averages for days, months, or seasons.
But should PF and average COP actually be the same?
Average power is total energy divided by time, so (with bars denoting averages):
On the other hand the average COP is calculated from data taken at many different times. At any point of time t,
Having measured the COP N times, the average COP is thus:
is not necessarily equal to
When is the average of ratios equal to the ratios of the averages?
If electrical power and heating power would fluctuate wildly we would be in trouble. Consider this hypothetical scenario of odd non-physical power readings:
- PH = 10, PE = 1
- PH = 2, PE = 20
The ratio of averages is: (10 + 2) / (1 + 20) = 12 / 21 = 0,57
The average of ratios is: (10/1 + 2/20) / 2 = (10 + 0,1) / 2 = 5,05
Quite a difference. Good that typical powers look like this:

Powers change only by a fraction of their absolute values – the heat pump is basically ON or OFF. When these data were taken in February, average daily ambient temperature was between 0°C and 5°C, and per day about 75kWh were used for space heating and hot water. Since heat pump output is constant, daily run times change with heating demands.
Results for the red hot tap water heating cycle:
- Performance Factor calculated from energies: 3,68
- Average COP: 3,76.
I wanted to know how much powers are allowed to change without invalidating the average COP method:
Electrical power and heating power rise / fall about linearly, so they can be described by two parameters: Initial powers when the heat pump is turned on, and the slope of the curve or relative change of power within on cycle. The Performance Factor is determined from energies, the areas of trapezoids under the curves. For calculating the COP the ratio needs to be integrated, which results in a not so nice integral.
The important thing is that COP and PF are proportional to the ratio of inital powers and their relative match only depends on the slopes of the heating power and electrical power curves. As long as the relative increase / decrease of those powers is significantly smaller than 1, the difference in performance indicators is just a few percent. In the example curve, the heating energy decreases by 15%, while electrical energy increases by 52% – performance indicators would differ by less than 2%. This small difference is not too sensitive to changes in slopes.
All is well.

________________
Detailed monthly and seasonal performance data are given in this document.
Interesting! I look forward t the day when more renewable and efficient systems are in vogue here.
That’s not a picture from this year, is it? Let me assure you that here in NL it does not look like that!
By the way, how do you heat your hot water on tap. In my house it’s a simple electrical 200 L insulated tank with two electrical heating units, one near the top and one about halfway. It has a sacrificial anode that I am always forgetting for change :-) hence I find myself changing out the tank itself every 5-6 years or so.
I took the picture at the day I wrote the post! :-)
We heat hot water with the heat pump, using a 500 liters hygienic storage tank: The heat pump heats the (non-tap) water in the tank to 50°C, and tap water is flowing through a heat exchanger in that tank – so it is heated ‘on demand’. The heat exchanger is rather big, so this results in 12kW heating power, and the tap water gets really hot.
If the hot tap water would stay in the bulk volume of the tank instead we would have to heat it to 60°C regularly to kill legionella. We wanted to avoid this as the COP of the heat pump decreases with increasing water temperature (in our case it is still 3 at the end of heating cycle as the plot shows).
Our overall seasonal performance factor of more than 4 is with hot tap water heating already factored in.
There is a three-way valve that directs the flow of heating water either to this hygienic storage tank or the buffer tank for the heating circuit – I try to embed the hydraulic schema:
