Previously:
I felt stupid.
Sitting in conversations with installers, listening to numbers I couldn’t understand or argue with because I didn’t have the vocabulary or the knowledge to argue.
For years I’d had a boiler with a dial on the wall in the hallway. You turned the dial. The house got warmer. That was the entire content of my relationship with home heating, and it was fine — the question of how much heat the house actually needed had never been my problem. Now, suddenly, it was the only question that mattered, and I didn’t know enough to ask it. This is that gap
Heatpunk and the can of worms. The first useful thing I found was a piece of free design software called Heatpunk. It is a freely available heat-loss calculator that an amateur can actually drive — and even getting Heatpunk to give you an answer requires you to type in numbers that, if you’ve never thought about your house in thermal terms, you don’t know how to choose. For completeness, the OpenEnergyMonitor team have since published their own free tool, HeatLoss.js, which covers similar ground.
What’s the U-value of your walls? I don’t know. What’s the U-value of your windows? Whatever the manufacturer said. What’s your air change rate? No idea. What’s the design outdoor temperature for your location? Heatpunk has a default for that, helpfully. That last one was where the can of worms opened.
The −5.6°C moment. Heatpunk’s default 99.6%-percentile design outdoor temperature for my location was −5.6°C.
I sat looking at that number for a long time. I had lived in this house through more than fifteen winters. I had walked out into a lot of mornings, scraped a lot of car windscreens, watched a lot of forecasts. We had never seen −5.6°C. Not once. Not in over fifteen years. And here was the design software — backed by industry guidance — telling me to size my heat pump for a temperature that, in lived experience, did not occur.
That was the moment something shifted. If the design temperature was wrong, what else was wrong? And how would I find out? The answer turned out to be: with patience, and free data.
OpenMeteo publishes historical weather data — nineteen years of it, for any location on earth, for free. Some of it is reanalysis rather than direct measurement, but for working out long-run climatology it’s good enough, and it is dramatically better than the alternative of trusting a single national-standard percentile derived from God knows where.
Nineteen years of daily temperature for my location, downloaded into a spreadsheet. From that, two numbers fell out: the actual 99.6% design temperature for my location was −2.7°C, not −5.6°C. And the heating degree days came to 2,233, not the official 2,494. Both corrections pointed in the same direction: the standards were sizing me for a colder, harder climate than the one I actually lived in.
Walls, windows, and the air. Once I’d corrected the climate inputs, the rest of the calculation was a series of smaller exercises in the same spirit.
The walls. Industry guidance for solid stone says 2.1 W/m²K, which produces a frightening heat loss number for any house with much exposed external wall. But our walls aren’t generic solid stone. They’re whinstone rubble with sandstone dressings, roughly 600 mm thick, with lime plaster on lath on the inside. Working through the layers properly — thermal conductivity of the stone, the cavity-like decoupling effect of the plaster-on-lath, the actual wall thickness — got me to 1.2 W/m²K. Far from insulated standard, but nothing like the disaster the rule of thumb suggested.
The windows, the roof, the floor: each got the same treatment. Industry default first, then a careful look at what was actually there, then a defensible number. Each correction was small. None of them on its own would have changed the heat-loss calculation dramatically. But together, applied consistently across the whole house, they amounted to a different building from the one the installers were quoting against.
The air. At the design stage you can’t measure your air change rate — you have to estimate it. The textbook default for an old house is 1.0 ACH or higher. Our house has had its windows replaced, its unused chimneys sealed, and isn’t draughty in the way a Victorian tenement might be. An honest estimate, not a measurement, was around 0.5 ACH.
With those inputs in place, I ran Heatpunk again. The answer came back: 11.94 kW. About a third of what the installers had been quoting.
Which immediately produced the next problem: was I the one who was wrong?
Is this number correct? I’d just spent weeks teaching myself a vocabulary I hadn’t known existed, then used that vocabulary to disagree with everyone who actually did this for a living. The financial and practical consequences of being wrong were severe. An undersized heat pump in this climate would mean cold rooms in January for the next fifteen years. An oversized one would mean a unit that cycled badly in mild weather, never reaching its rated efficiency, costing thousands more up front for nothing. Heatpunk’s 11.94 kW was a number I had produced by typing things into a piece of free software. I needed a second opinion that didn’t come from the same software, the same inputs, or — frankly — the same nervous amateur.
The second opinion turned out to be sitting in a folder on my computer.
The LPG bills. The boiler had been running this house for fourteen years. Every one of those years had a fuel bill attached to it. 4,173 litres of LPG per year, on average. At 7 kWh per litre, that’s 29,211 kWh of fuel energy going into the boiler annually.
The boiler had been serviced every year since installation, which meant it was running close to its commissioning efficiency. An honest figure for a regularly-serviced, fourteen-year-old combi is around 0.85. So useful heat delivered to the house was about 24,829 kWh per year.
Divide that by my corrected heating degree days, and again by the 24 hours in a day, and you get a heat transfer coefficient of about 0.46 kW/K. At my corrected design ΔT of 21.7°C (19°C indoor, −2.7°C outdoor), that gave a peak demand of 10.05 kW.
Heatpunk had said 11.94. The LPG calculation said 10.05. They didn’t match.
I sat with that gap for a while. Was Heatpunk overestimating? Were my fabric numbers too generous? Was the boiler less efficient than 0.85? Then it occurred to me what I’d left out.
The wood stove. The boiler hadn’t been the only thing heating this house.
Through December, January, and February, we ran a 6 kW wood stove every evening, from 16:00 to 22:00. Six hours a night, ninety nights a year, around 540 hours. A wood stove never delivers its rated output continuously — there’s the ramp up from cold, the steady high output, the ember-stage tail — so call it 65% of rated, an average of about 3.9 kW delivered into the room. That’s another 2,100 kWh of heat that the LPG bill had never seen.
Total household heat demand, properly accounted: 26,900 kWh per year. HTC: about 0.50 kW/K. Peak demand at design ΔT: 10.9 kW.
Heatpunk: 11.94 kW. LPG-plus-stove: 10.9 kW. The two methods agreed within about 9%, which is roughly the precision you should expect when you’re combining an estimated boiler efficiency, a remembered wood stove duty cycle, an HDD against an assumed base, and U-values derived from first principles. What mattered was that both methods said around 11 kW. Neither said 18 kW. Neither said 37 kW.
That was good enough to commit. I specified the 12 kW Vaillant aroTHERM Plus.
What it would have cost to be wrong. If I had accepted the 18 kW figure that one of the installers landed on — and 18 kW was the low end of what I’d been quoted — the consequences would have unfolded over fifteen years. A heat pump 50% larger than the house needs cycles in mild weather instead of modulating, never reaches its rated COP, costs more to buy, costs more to run, and wears out earlier. None of the rest of what I went on to do — the seasonal COP of 4.21, the 68% energy reduction against LPG, the comfortable house at low flow temperatures — would have been possible on top of an oversized base.
The standards-default oversizing that the industry treats as conservative isn’t conservative. It’s expensive, all the way along, and the homeowner pays for it.
Even after the install, I wasn’t sure. Ordering the unit didn’t end the doubt. Two paper calculations agreeing within 9% is reassuring, but it isn’t proof. Both calculations could have been wrong in the same direction. I had used the same building, the same assumptions about sealing, the same intuitions about what “honest” meant for a parameter I couldn’t measure. Heatpunk and the LPG cross-check weren’t fully independent — they were two views of the same input data, dressed up differently.
The unit went in. The pipework got upgraded. The heat pump fired up for the first time. And I still didn’t know whether I’d been right.
That uncertainty is what built the monitoring stack. Not engineering principle. Not hobbyist enthusiasm. I had just attached a fifteen-year decision to the side of my house, and I needed to know whether the decision had been correct. So I put a dedicated electricity meter on the heat pump’s supply. I put ebusd on the Vaillant’s internal communications bus, exposing every internal register the unit was working with. I pushed everything into Home Assistant and then to EmonCMS, where it could be regressed against outdoor temperature to derive the house’s actual heat loss coefficient from observed behaviour.
The data came in slowly across that first heating season. A few cold days, a few mild days, the regression line gradually filling in. And eventually the line said this:
Peak demand: 11.6 kW. Measured HLC: 0.540 kW/K, which corresponds to roughly 11.7 kW at design conditions.
Heatpunk’s 11.94. LPG-plus-stove 10.9. Measured peak 11.6. Regression-derived design load 11.7. Four numbers, four methods, all sitting within about a kilowatt of each other. That was the moment I knew the paper work had been right. Not at commissioning. Not on the first cold day. Months later, when the regression had enough points on it to be trusted, and the line said the same thing the paper had said.
I felt stupid at the start. I was right to feel stupid — I didn’t know any of this. But the route from feeling stupid to knowing the actual answer was just willingness to look up one term, then the next, then the next.
Heatpunk is free. OpenMeteo’s historical weather data is free. Your fuel bills are in your filing cabinet.
The entire calculation cost me nothing but time, and saved me a heat pump I didn’t need and a fifteen-year mistake.
If the message of The House That Couldn’t Have a Heat Pump was that received wisdom is what you get when nobody has bothered to measure, the message of this chapter is narrower and more practical: the maths is doable, and you can do it. The vocabulary may take time to learn and understand. The data is all there waiting for you. And the answer, when you arrive at it from your own house’s actual numbers rather than from somebody else’s defaults, is almost always smaller, cheaper, and more manageable than the industry will tell you.
You don’t need to be an engineer. You need to be willing to question the numbers somebody else hands you, and to spend a few weekends learning enough to do it.
That’s what changed. Not the house. The numbers I knew about it.
Next: