[RC5] Stats suggestion

Ben Clifford benc at hawaga.org.uk
Fri Jan 5 12:04:28 EST 2001

Have you considered an "exponential decay" average?

This is a weighted average, where the more recent values have a bigger
weight than values in the past - values in the distant past have such a
tiny weight that they are insignificant.

Its advantage from a distributed.net point of view is that it only needs
one piece of historical data, yesterdays exponential average.

It can be computed as:

todays_avg = k1 * yesterdays_avg + k2 * todays_count;

with suitably chosen (related) k1 and k2 constants.

Varying the constants changes the "decay rate" of the average - I would
think for distributed.net, half lives of 7-days, 30-days and 60-days would
probably be appropriate.

For people who use unix, this is how load averages from the uptime command
are computed.

This metric needs very little storage and is quick to compute. It
gradually "forgets" about old data. 

It is not as "jumpy" as a n-day average - if I have a spike, then my
30-day average will jump up and in 30 days will suddenly drop
significantly. With this metric, it will gradually fade out.

I'm not sure how well I have explained this... please ask questions :-)



To unsubscribe, send 'unsubscribe rc5' to majordomo at lists.distributed.net
rc5-digest subscribers replace rc5 with rc5-digest

More information about the rc5 mailing list