Details about score calculation model #1648
Unanswered
xelxebar
asked this question in
General Discussion
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is just pure curiosity, but I'm curious about the actual score calculation model used.
Digging through the code, I see it boils down to this calculation, from Score.kt:44:
For an everyday habit,
frequency == 1
, and with a perfect record, I see this calculation boils down toscore = 1 - multiplier.pow(days)
. And if you suddenly quit from a score of1
, then it boils down tomultiplier.pow(days)
. So the extreme cases make sense. In particular, however, is the13
constant chosen just to give the particular "3 months to 99%" curve? Or is there more to it?Digging back through the history, d3b540/Score.java:71 shows a slightly different
multiplier
calculation.The
1/(14/frequency - 1)
curve is very different than that ofsqrt(frequency)/13
. Any insight on what motivated this change? The relevant commit message doesn't shed much light on it, AFAICT.Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions