open-spaced-repetition / fsrs4anki

A modern Anki custom scheduling based on Free Spaced Repetition Scheduler algorithm
https://github.com/open-spaced-repetition/fsrs4anki/wiki
MIT License
2.76k stars 137 forks source link

Large discrepancy in interval between native and custom scheduling version of FSRS #701

Closed jcznk closed 4 weeks ago

jcznk commented 4 weeks ago

Hi! I am not sure if the following behavior is expected. I am using Anki 24.10 beta 4.

FSRS parameters: 2.8481, 4.8042, 6.3959, 35.0206, 9.2963, 0.7195, 1.3503, 0.0207, 1.5680, 0.2701, 1.0538, 1.8377, 0.1651, 0.3927, 1.2660, 0.0553, 5.6456, 0.4597, 0.7716 Desired retention: 87

Using the native implementation of FSRS 5, pressing "Good" would yield a 2.5 months interval for a card I last reviewed in January and was due in August. I recall that FSRS 4 often behaved in a similar way.

Using the javascript version of FSRS (fsrs4anki_scheduler.js), with the same parameters and desired retention, I get these intervals, which I personally find more reasonable:

Expertium commented 4 weeks ago

I don't see any difference in intervals on these two pictures? My bad. I was looking at Card Info, not at intervals above the answer buttons.

jcznk commented 4 weeks ago

The card is yet to be rated. The intervals I am referring to are the ones above the Again/Hard/Good/Easy buttons.

brishtibheja commented 4 weeks ago

The Javascript version was last updated 3 months ago.

jcznk commented 4 weeks ago

True. However, I find the current behavior of the native version of FSRS 5 a bit strange and, personally, undesirable, so I’m left wondering whether this is actually expected.

L-M-Sherlock commented 4 weeks ago

fsrs4anki_scheduler.js is based on custom data. In your case, the card doesn't have custom data, so the js version converted the card's interval and ease factor to custom data:

https://github.com/open-spaced-repetition/fsrs4anki/blob/aee45cadd4cab3fb6fec068b08867679369d1af8/fsrs4anki_scheduler.js#L244-L257

So the result is different.

jcznk commented 4 weeks ago

I see! Thank you for the explanation.

I'm still a bit perplexed whenever FSRS suggests an interval that's shorter than the previous one or shorter than the time elapsed since I last reviewed a card. If I can correctly answer a card after not seeing it for, say, six months, it feels natural that the next review interval should be at least six months. Maybe I'm just too used to SM-2. Anyway, this isn’t really within the scope of the current topic, so I'll close it for now. Thanks again!


On a side note: I checked a backup from 2024-01-28, the day after I last reviewed cid:1550860595687, and the card had an interval of 1.53 months, with a due date of 2024-03-02. In the screenshots above, however, it has a 6.73-month interval, with a due date of 2024-08-12. I'm not sure why. I initially thought I might have been using SM-2 during the last review, but that’s not the case. Maybe I rescheduled some decks using the FSRS helper and forgot. Anyway, it’s not a big deal—I just wanted to mention it since I previously suggested FSRS was giving me an interval shorter than the previous one, which, in light of this, might not be true here.