Measuring air change rates with CO2 sensors for heat pump heat loss calculation

I’ve written a piece on measuring air change rates with CO2 sensors for the heat pump section in the OpenEnergyMonitor docs here:

As some of you already know this has been a bit of a research interest for me and several other folk over recent months, in particular @AndrewC, Michael de Podesta, see his blog Estimating Rates of Air Change in Homes | Protons for Breakfast @Zapaman, and @glyn.hudson. @borpin I know it’s also a topic of interest to you, especially from a air quality perspective with the benefits of MVHR.

Most of the discussion has been on twitter so far and I’ve been meaning to start a thread on here about it for ages as it’s an important topic for the sizing of heat pumps (as many discussions have already covered on here).

A short summary of where we have got to

The CIBSE and MCS guidance for pre-2000 homes is to use air change rates of e.g 2.0 in kitchens, 1.5 in the livingroom, 1.0 in bedrooms and 3.0 in bathrooms. These were values I took at face value for years but it turns out that average air change rates in old properties are much less than this, typically closer to 0.5 ACH.

Now the CIBSE guidance does say that the higher values “reflect reasonable worst-case conditions where extract fans may be in use, or windows are open, rather than long term averages.” and MCS have a paragraph in their best practice guide caveating that “the age of the building may not well indicate the loss of heat due to air passing through the structure” but little further guidance is given for what the installer should use instead.

There is a range of published evidence that @AndrewC has compiled that suggests median values for air change rates are typically closer to 0.5 ACH with a fairly wide range of variation:
A Fresh Look At Default Air Changes In UK Domestic Properties.pdf (729.4 KB)

@glyn.hudson, @Zapaman and I all had blower door tests done which suggested air change rates of 0.3, 0.43 and 0.33 ACH respectively based on the divide by 20 rule/fudge but Michael de Podesta pointed out that we should be careful with this result as it does not necessarily reflect real world use.

Michael suggested that the best way to explore this question would be to use CO2 sensors to do tracer gas measurement of air change rates and published some of his own experimentation on his blog linked above. This inspired me to build up some CO2 sensors using unused prototype boards that I had to explore this question in my own house:

I then built an Emoncms app to make the data analysis easier and a simulator tool to understand the underlying maths. I’ve written about the methodology behind this here

These are the kind of results that I’m seeing in my house:

and via the averaging method with estimated CO2 production rates:

Result: ~0.6 ACH ± 0.2

We’ve replicated this in Glyn’s house and Dom’s with similar results for average values and decay test, all in general agreement with the published work that @AndrewC shared. I feel like I now have a better grasp at least on what average air change rates can look like in properties likes ours.

It’s not possible to be very precise about the air change rate given that it varies day to day with a range of factors: occupancy, how often windows and doors are opened, wind speeds, temperature stack effects, etc, but the results do give a useful indication for the typical range.

Air change rates at high wind speeds

One result that does stand out is the average air change rate in my house for the high wind speed storm January 20th to the 23rd, this did push up the air change rate towards the higher values seen in the CIBSE guidance. It is quite rare in North Wales to have high wind speeds and low temperatures at the same time, high wind speeds are usually correlated with milder temperatures during winter months. There are however rare events that do give these conditions, I think the last time we had high wind speeds and low temperatures in North Wales was the March 2018 ‘Beast from the east’. 6 years ago!

Im told these conditions are more common in other parts of the country e.g in Aberdeen and that I should be careful in making UK wide generalisations.

With design temperature there is a standard used to choose the minimum outside temperature:


Does there need to be a similar way of choosing a maximum wind speed that is coupled with this minimum temperature?

I guess it’s less straightforward as the impact of wind speed will be affected by how sheltered the house is, orientation, draughtiness etc. Room by room heat loss calculators used for heat pump sizing do not incorporate any wind speed based inputs, more sophisticated calculators such as the full SAP 2012 model and PHPP do have a more sophisticated model for this side of things but are not being used for heat pump sizing.

It could be argued that during conditions with high wind speeds and in countries with a lot of wind power generation these conditions will correlate with excess wind generation or low carbon supply. Using direct electric backup heaters in these conditions might be less of an issue than during the more common cold but still winter days.

The questions I’m left with are:

  • Do we need to size heat pumps for rare ‘beast from the east’ conditions? Perhaps an analysis of frequency of these conditions in different regions of the UK would be useful here.

  • Do we need to be thinking more about increasing air-tightness / draught proofing and introducing controlled ventilation when installing heat pumps so that we can install smaller heat pump systems and have some certainty that air change rates wont rise above a chosen threshold?

  • Or/and do we deal with the additional heat load above the heat pump capacity (if there is any) under high wind, below zero conditions with another source of backup heat, e.g a couple of fan heaters on an inline booster?

Most of the heat pumps on heatpumpmonitor have plenty of additional capacity that could deal with rarer events, this is more something to think about as we reduce the air change rates when designing and installing systems and sail as close to the wind as possible in terms of heat pump capacity vs accurate heat loss…


FWIW, RS have some CO2 sensors and various CO2 meters including

1 Like

Given that the design temperatures are for 1% and 0.4% of annual hours and high wind/low temperature is presumably rather rather, it’s probably not necessary to consider those conditions in heat pump sizing.

Presumably specifying 2 ACH for pre-2000 when reality is typically 0.5 ACH is a big part of why heat pumps seem to be routinely oversized.

1 Like

Interesting stuff. Need to order some SCD40s from ALiExpress :slight_smile:

My view for a while has been that Heat Pumps should be sized for the 90-95% conditions accepting that on occasions a small amount of direct electric may be required to ‘top-up’. Sizing like this means you bring the optimum preformance envelope into the majority of the use profile. As we have seen, smaller is better.

Any plans to add CO2 sensor hardware to store?

I’m keen to monitor CO2 and dynamically adjust MVHR to achieve optimical air renewal but minimize heat loseses by reducing air changes where possible (MVHR is only 80% efficent given it has an enthalpy exchanger and considering ducts etc)

I think the definition of “design condition” rather than how much of it you try to meet is the bigger issue here.

MCS appear to be suggesting that “worst case” CIBSE air change rates (with the ruddy windows open) apply during “design condition” outdoor conditions - unless the installer takes responsibility for justifying otherwise.

Good installers, either those with modelling knowledge of buildings or with experience of past installs, can and do pick more appropriate figures.

Bad installers, either those without a clue or those who have all the access to smart meter data and building models yet purposefully ignore all this in order to try limit their perceived design liability, use the default figures.

The big players (British Gas, Octopus, CB Heating etc) all fall into that second camp of having access to all the information they could possibly need but deliberately choosing to ignore it son that they can say “it is designed to MCS standards” and hide behind this when the result isn’t what it ought to be.

It’s still possible to prove them wrong of course - to prove that the design isn’t adequate - but what they’re doing using MCS defaults is shifting the burden of proof from being on them to “show their working/justify their assumptions” to demonstrate that the design is adequate; onto the end consumer to “show their working/justify their assumptions” to show that the MCS defaults are inadequate. Even when proven inadequate they still get to save face by saying “we followed the standard” if pushed on why they did a bad job.

This is a case where the consumer would be better protected if there wasn’t a standard and then installer had to insert their own figures.

In manufacturing we do similar. You never ask somebody to confirm that a measurement is within range. You make them take the measurement and fill in the number. This shifts the responsibility more directly to the person making the call.

1 Like

Thanks for the interest! yes, we are going to modify the emonTH design for the next manufacturing batch to support adding I2C sensors such as the SCD40/41 module. I will let you know as soon as we have something available.

FWIW, I’m moving somewhere along that path too, but I’m not sure I’ll get as far as trying to automate things, because there are too many variables. CO2 levels can vary very rapidly when they’re measured in a room, presumably because of draughts from breathing. I’m not sure if they’ll be more stable in an MVHR extract - I would hope so, but who knows?

Maybe it also depends on the degree of control you have over the MVHR. Ours just has three rates we ever use (plus max rate that is never used). And I wouldn’t want some automatic system increasing the rate whilst I was in the shower! Likewise, it can’t decrease it when the duct heating is on and so forth. The control situation rapidly gets complicated.

1 Like

Thanks Marko

To play devils advocate here, given that I can reach air change rates of ~1.2 ACH ± maybe 0.3 over 3 days and the CIBSE guidance for my house works out to a whole house average of 1.7 ACH. I’ve already identified a condition that is in the ballpark of their worst case guidance and that’s with windows and doors closed, it was just very windy…

So I think if we are to expect installers to use lower average air change rates for heat loss calculations we need to be very clear on what adequate design conditions are?

My thoughts on how to approach this are:

  • Study correlation between wind speeds and temperature in different regions of the UK and identify frequency of events with high wind speeds and low temperatures.

  • Collect more data on measured heat demand and occupant comfort during conditions with high wind speeds and below zero temperatures - and try to find existing research.

  • Work out the right balance between increasing system capacity to deal with rare events and improving performance for the bulk of the heating season - where a trade off does exist which seems to vary depending on the make/model of the heat pump.

In the interim for those in less windy parts of the UK perhaps just using a figure such as 0.5-0.7 ACH and accepting that in rare events some form of hybrid heat may be needed as you suggest @borpin and I think you subscribe to the same view @marko ?

A related note on the subject of design conditions is that I have never met the design condition for our house on temperature alone over a full day (let alone high wind speeds) and I think that’s quite common for other systems as well… E.g very few days that get anywhere near 23K DT between the living room temp and outside:

1 Like

Another rare event that is worth mentioning is heating the house up from cold. I’m not one, but some people go away for extended holidays in the winter and let the house cool down. Whether it’s better to size a heat pump to have enough output to reheat the house quickly, or fit a smaller one with some direct electric supplementary heating. Or if there’s an extended power cut. etc etc.


Yes good point @djh, Glyn’s peak heat demand over 24h this winter coincided with a return from being away and outside conditions being around 0. E.g the big spike in consumption Jan 15th onwards here: Emoncms - app view dashboard

1 Like

Can’t disagree with most of that.

The 9Xth percentile heat demand is what we’re after.

It’s driven by a combination of air temperature and windspeed.

Custom and practice is (I think) designing to air temperatures alone; whilst using typical air change rates.

Using limit condition air temperatures AND limit condition windspeeds over eggs things if these are independent events.

This problem largely goes away if you accept a little supplemental heating at design condition.

From a system perspective (investment in peak grid capacity) you may well be better wasting energy during mild weather when solar is coming out of your ears in order to ensure that you never need direct electric heating at design condition that will stress the grid.

Better still use wood burners or mini split air conditioners not oil filled radiators for that peaking.

That’s also better from a general purpose everyday resilience perspective. (can still heat with that AC and an immersion if the monobloc goes pop whilst it’s snowing out and the spares are sunk by the Houthis etc)

Reheat from frost setback is maybe an issue. Mitigations include materially higher output from the heat pump at lower flow temperatures and higher output from emitters at lower room temperatures. And you probably don’t come home during a design condition event and probably do have the option to set the heating the day before remotely.

At some point hot water heating must limit?


Really great to see this integrated, I’ll start piping my CO2 sensors into emoncms!

I have a 30 year old prefab house with a moisture barrier, so my ACH when keeping windows closed is around 0.1 or less (CO2 half life in my living room is 8 hours). I’m using CO2 sensors + notifications from Home Assistant to open the windows when air quality gets bad. This way I’m also not blowing too much heat out the window. It will be interesting looking at wind speed and correlating it.

For the heat loss surveys in Germany they (have to) assume 0.5 ACH if no measurements are available. That’s also the value they have to target for designing ventilation systems for new houses. I already found 0.5 quite high since in the survey that accounts for around 30% of my heat loss. Seeing rates of 2 or higher seems crazy and it’s no wonder that this might lead to oversized heat pumps.

Especially heat pumps should in my opinion be sized according to their modulation range to best cover the histogram of expected heat loss at the installation site within that range. Allow around 5% of the lowest expected temperatures to fall outside of the max power and then cover those with a backup heater if it’s needed at all. The next step down from my 10 kW unit would have been 3k€ cheaper. At current electricity rates that would be 10000 kWh. I very much doubt the backup heater would use that over the lifetime to cover the few extreme cold snaps. Take increased wear&tear due to cycling and economically it makes no sense whatsoever. My heat pump had to be sized for -12°C! All that power sits there unused for 99.9% of the time. I’ve had one day this year with a -10°C average and that was a rare event.

Both the regulatory & installer side need to completely rethink their approach. With gas heaters being able to modulate to 5% of their peak power oversizing isn’t too bad, but with a mere minimum modulation of maybe 30% coupled with the fact that they output more heat when it’s warm, heat pumps need to be treated differently.


Thanks both, appreciate the perspectives on this!

That’s really interesting! is a blower door test the recommended measurement over there? How common is it to measure vs assume?

Lots of good points there @Andre_K, optimising for the histogram, great! I’ve heard a lot of stories of badly configured booster/backup heaters coming on far to early but that’s more of a commissioning/manufacturer control issue, agreed if very carefully controlled especially if it’s windy with lots of wind power available then that could make a lot of sense.

Would be great to see how well the app works for you! and anything you can share on integrating CO2 data from the sensors you are using would be welcome!

Nice work @TrystanLea et al.

As you now from a little while ago, I changed to using “effective temp” to compensate for the windy weather.

Even though my house is over 200 years old, it’s not very leaky (we had the blower test) but still it’s noticeable because the wind blows straight into the walls of the house.

1 Like

Yes good point @MyForest how much wind related compensation do you need to add? and what was your blower door test result?

That algorithm is literally all I do. It is then used to drive the weather compensation as you all do every day already.

Unfortunately our blower test person never sent the report so we had to go from what we remembered him saying which was that we had leaks equivalent to 1m x 10cm across an external area of about 200 metres squared (or was it 1m x 30cm…hmmm). His summary was that it was surprisingly not-leaky. That’s because we filled lots of gaps to stop the mice getting in, like this:


You never measure with an old/existing house and they just assume the default value of 0.5 stated in some DIN norm (might be different for different house age, unsure about that). When you’re building a new house you’ll have to get a blower door test and pass it if you want to be eligible for the myriad of subsidies towards energy efficient houses. But those houses will have some form of controlled ventilation with heat recovery.

1 Like