Yesterday, someone mentioned wanting to be able to look at “average power factor” for a given time period. I’ve been ruminating on that and have come to realize that I believe I’ve been handling power factor wrong from the beginning.

First a disclaimer: My background isn’t electrical engineering. I’m a programmer. That said, I understand the physics and math related to the data acquisition of electric power at what I consider to be a reasonable practical working level that can be expected to be encountered by the IoTaWatt.

So as I think about “average power factor”, over an hour where we have 360 10second measurements, the question is what are we really looking for? It’s easy to do a time average. Just add up all those 10second measurements and divide by 360.

Going through life up to the past two years, I had no idea what power factor was. I doubt that most people using an IoTaWatt do, and that it has any meaningful use to the ordinary consumer. You pay for real power, and how much reactive power gets pushed around in the process - who cares?

I think this is something that has more meaning in industrial settings, where highly reactive loads like big motors are at work. So if you have a load that draws real power of 2000 watts at a power factor of .80 for half an hour and doesn’t run for an hour, is the average power factor .40? I think .80 would be more useful.

That’s a pretty simple example to make the point. In reality, over any given measurement period, the power and pf will be constantly changing. So how to be able to produce useful averages over arbitrary time periods from a data store?

I go back to the basic definition of power factor:

pf = real power (W) / apparent power. (VA)

We currently store real power (W) and there is no problem with time averaging this measurement. IoTaWatt stores it as cumulative watt-hours (Wh) and over any time period can give you watts as the change in Wh divided by time. You can get an average over any arbitrary period be knowing only the starting and ending Wh.

So I think the proper approach to power factor is to also keep apparent power (VA) in the same way. So that power factor over any given time is:

average W / average VA.

in fact the time can be removed from the calculation and simply use:

change in Wh / change in VAh (sorry I don’t have a math formula editor handy to do deltas and sums and such)

Taking this down to the millisecond level, I think that’s the way IoTaWatt should be doing power factor for the 5 second entry in the data-log. Instantaneous is the PF when reading one AC cycle. After that, everything is an average and probably should be done by bringing forward VA as well as Watts.

Curious if anybody has a different take.