Indoor sensor map data is incorrect due to use of CF=1 sensor values

I believe the PurpleAir map is using the wrong type of particulate matter concentration values from the Plantower modules in its indoor sensors, and consequently the particulate matter and air quality index numbers shown for indoor sensors are inaccurate. PurpleAir can correct this by using different values from the sensors.

The Plantower PMS5003, PMS6003, and PMS1003 modules used in all PurpleAir sensors report two different types of PM1.0, PM2.5, and PM10 values: CF=ATM and CF=1. PurpleAir’s FAQ had described it:

[The Plantower sensors] provide 2 different mass concentration conversion options; CF_1 uses the “average particle density” for indoor particulate matter and CF_ATM uses the “average particle density” for outdoor particulate matter.

My understanding is that the PurpleAir map has always used CF=ATM values for outdoor sensors, and it’s been reported that since Nov. 21, 2019 the map uses CF=1 for indoor sensors. My own analysis of the map suggests that it is still using CF=1 values for indoor sensors.

I believe that PurpleAir is using the wrong values for indoor sensors, and that the description in the FAQ was incorrect. The problem may come down to a misinterpretation of the information in Plantower’s data sheets. The English language data sheets for the PMS1003, PMS5003 and PMS6003 provide scant information about the differences between CF=ATM and CF=1, stating merely that CF=ATM readings are for the “atmospheric environment”, and CF=1 is a “standard particle”, and stating that “CF=1 should be used in the factory environment”.

However the Chinese data sheets provide much more information. Please see the Chinese data sheet for the PMS5003, v2.3, page 12. I provide here an English language translation furnished by a Chinese speaker:

Note: The standard particle mass concentration value refers to the mass concentration value obtained by density conversion using industrial metal particles as equivalent particles, which is suitable for environments such as industrial production workshops. The mass concentration of particulate matter in the atmospheric environment is calculated by using the main pollutants in the air as equivalent particles for density conversion, which is suitable for ordinary indoor and outdoor atmospheric environments.

So you can see that CF=1 is not for ordinary indoor environments. It is just for factory environments with industrial metal particles. The CF=ATM values are for ordinary outdoor and indoor environments.

PurpleAir’s use of CF=1 for indoor sensors means that the reported values are higher than they should be for readings above 25 μg/m³. (From my own testing of the PMS5003, there is no difference between CF=ATM and CF=1 readings below 25 μg/m³.) The use of CF=1 also means that indoor and outdoor sensor readings cannot be directly compared, which is an obvious limitation, as outdoor air is often the source of indoor air pollution.

I hope that PurpleAir can update its map to use CF=ATM sensor values for indoor sensors by default, perhaps using CF=1 only for a sensor if the owner has indicated it is in an environment with industrial metal particle pollution (which I would expect to be a very small fraction of sensor locations). The use of CF=ATM sensor values from indoor sensors should be applied to the map’s raw PM1.0, PM2.5, and PM10 data layers, and to all of the various air quality index data layers that are computed from PM2.5 sensor data.

1 Like

Hi @balazer, thank you for your input and discoveries. This is interesting information, and I will bring this to the team so we can investigate further.

1 Like

Balazer states that indoor Purpleair sensors are incorrect because of the use of the Plantower CF1 algorithm. He does not go far enough. Outdoor sensors are also incorrect because of the use of the CF1 algorithm. This has been shown by multiple studies, particularly the AQ-SPEC analysis, but also the LBL study (Singer and Delp), the Utah study (Kelly), the EPA study (Barkjohn) and others.
Analysis of the CF1 and CF_ATM relationship shows that CF1 is the fundamental one. CF_ATM is based on CF! up to about 28 ug/m3, but then deviates in a completely absurd and non-physical way, dropping by 0.1 unit for the next 50 1-ug/m3 steps, until at 78 ug/m3 (using the CF1 algorithm) it reaches a point very close to 2/3 of the CF1 value. It then stays at that 2/3 fraction for all higher concentrations. It seems clear that the Plantower engineers knew that their CF1 algorithm was reading high and adopted this clumsy fix to get closer to the true concentration.
Balaver concentrates on indoor air, but all of the studies that are listed as alternative conversion factors are based on outdoor concentrations, except for one: the ALT-CF3 algorithm, which is the only one that is independent of both the Plantower algorithms. ALT-CF3 is based on the particle numbers reported by Plantower in the three smallest size categories up to 2.5 um. The resulting PM2.5 estimates from 33 PurpleAir sites were compared to 27 Federal Equivalent Method (FEM) regulatory measuring sites in California (Wallace, Bi, Ott, Sarnat, and Liu, 2021). Later both the PMS 1003 sensors used in the PurpleAir PA-I monitors and the PMS 5003 sensors used in the PA-II monitors were again calibrated against regulatory monitors and were found to be with 4% of each other (Wallace, Zhao, and Klepeis,. 2022a). This was a useful finding since it suggests that the indoor and outdoor concentrations can be compared on the same basis.
Since nearly all studies using PurpleAir sites are of outdoor air, a major effort was made to look at indoor concentrations of all 4,000 PurpleAir sites in California, Oregon and Washington.(Wallace, Zhao and Klepeis 2022b) These values were regressed on all 10,000 sites in the same states over a 4.7-year period (2017-Sept. 8, 2022). About 750,000 pairs of indoor-outdoor sites within 10 km of each other were examined with the objective being to determine what fraction of indoor concentrations was contributed by outdoor air infiltrating the home, and what fraction was due to indoor-generated particles. Overall, the fractions were very close to being equal, although, each fraction could be dominant in different homes.

The ALT-CF3 algorithm is the only one of the conversion factors offered by PurpleAir that has been fully tested for indoor air sites against both regulatory monitors and outdoor PurpleAir sites. It should therefore be a leading contender for the recommended algorithm for indoor air. On the PurpleAir API site, the ALT-CF3 algorithm is given the name “PM2.5 alt”.

In summary, both the CF1 and CF_ATM algorithms give incorrect estimates of actual indoor and outdoor concentrations, and should be replaced by better algorithms.


  1. Wallace, L., Bi, J., Ott, W.R., Sarnat, J.A. and Liu, Y. (2021) Calibration of low-cost PurpleAir outdoor monitors using an improved method of calculating PM2.5. Atmospheric Environment, 256 (2021) 118432. https// Calibration of low-cost PurpleAir outdoor monitors using an improved method of calculating PM2.5 - ScienceDirect

  2. Wallace, L. Zhao, T. and Klepeis, N.E… Calibration of PurpleAir PA-I and PA-II monitors using daily mean PM2.5 concentrations measured in California, Washington, and Oregon from 2017 to 2021. Sensors 2022, 22, 4741. s22134741

  3. Wallace, L.A., Zhao, T., Klepeis, N.R. 2022 Indoor contribution to PM2.5 exposure using all PurpleAir sites in Washington, Oregon, and California. Indoor Air 32: (9) 13105.