Lapses on non-daily habits decrease the score too much #641
Replies: 4 comments
-
This has been fixed in 8b847ae by using a rolling sum instead of relying on implicit checkmarks. This solution seems to work well so far, but I will leave this issue open a while longer in case anyone has feedback. |
Beta Was this translation helpful? Give feedback.
-
I will try to answer more in detail when I have more free time but a couple of observations on the recent changes you introduced:
Overall this logic is a lot more inline with my understanding of how scores should work for irregular habits, but we need to think about |
Beta Was this translation helpful? Give feedback.
-
@KristianTashkov wrote:
Thanks, fixed in ddea9e7
I think reconciling the two will be hard. For example, in 3/7 habits, if the user consistently performs only 2/7, they will never see |
Beta Was this translation helpful? Give feedback.
-
Actually I realized there is another problem with the new logic and skips. If you have to skip a large portion of days (vacation from work or injury making it impossible to work out for example), when you return and start doing the habit the first couple of days your score will decrease because your rolling sum with be 0. Instead of looking back |
Beta Was this translation helpful? Give feedback.
-
Suppose that you have a habit that should be performed 3 times per week. In Loop Habit Tracker 1.8, if you consistently perform this habit 3 times per week, your score will eventually converge to 100%, as expected. However, if you only perform it 2 times per week, your score will eventually converge to around 28.6%. Given that you have successfully done 2/3 of the repetitions, the correct score should be 66% instead.
The issue happens because one failed repetition causes Loop not to generate 4 automatic checkmarks. The impact of a single lapse, therefore, is multiplied by 5. The final score becomes 28.6% because Loop considers your success rate to be 2/7. The same issue happens with other non-daily habits.
This issue was first identified by @KristianTashkov in #630 and #633. In these issues, a proposed solution is to allow the user to specify a fixed set of weekdays in which the habit cannot be performed. I unfortunately don't think this proposed solution addresses the root cause of the problem described here. In the example above, it may be the case that the user can perform the habit any day of the week. I am opening this issue for us to discuss possible alternative solutions.
Beta Was this translation helpful? Give feedback.
All reactions