keybr.com icon indicating copy to clipboard operation
keybr.com copied to clipboard

feature: replace averages with something else

Open aradzie opened this issue 1 year ago • 3 comments

What users say:

The problem with the current implementation is that the most you train on keybr, the more difficult is to have the average to reflect your actual speed. For example: I am consistently typing at around 82-87 wpm (since about one month), but my average is still stuck in the 70s because my last month of 80+ WPM is averaged with almost one year of previous data when I was significantly slower. The fact one year ago my wpm was 30 or so is irrelevant to my training though, it tells me nothing about how am I doing/trending. What I would like to know is how my current training session compares against my recent average performance (e.g.: last month or last 20 sessions, if you wanted to keep the calculations simple).

Alternatively: replace all times averages with yesterday's averages.

aradzie avatar Sep 25 '23 15:09 aradzie

A windowed average for the last n lessons or last n sessions would be one solution, and a weighted average with a weight decreasing with time would possibly be even better (though honestly, probably too much trouble, when a windowed average could be done in constant time).

sehrgut avatar Nov 21 '23 05:11 sehrgut

I strongly recommend an exponential moving average with an appropriate decay chosen. This runs in constant time and space, and is easily tweakable for finding the right balance of recent and older values.

ChosunOne avatar Mar 30 '24 06:03 ChosunOne

+1 this. There is one more problem with absolute averages. The longer you calculate average for something the more insignificant future values become. For example: a 100 wpm value on your 100th lesson will have bigger impact on your average while same value at your 1000th lesson will have almost no impact on your average. Therefore, as you practice more, it becomes increasingly less worthwhile to compare your current skill with your average.

ZenithFlux avatar May 16 '24 04:05 ZenithFlux