How to use the next-generation spaced repetition algorithm FSRS on Anki?

It’s not recommended but supported.

2 Likes

I think the warning is already in place.

But sure, if the impact is indeed minimal, then it doesn’t matter. Going by the instructions I thought it would be considerably detrimental.

Or maybe a popup asking if the user would like to have 1d+ steps eliminated automatically when activating FSRS?

I have a very specific deck. It contains cards, that prompt me which dialogue to practice on the language learning app. Card, for example, says “waiter intermediate”, then: I go to the app, open practice dialogue with the virtual waiter on intermediate difficulty, return to Anki, and press “again” or “good” depending on if I was able to go through all dialogue practice without major errors.
I do this on Android, so when I switch between Anki and the dialogue app, Ankidroid does not record time spent on the card open - because Ankidroid was in the background while I was using the language app.
Because of that recorded time spent on the card does not reflect the real time spent on the task.
I suspect that’s the reason why the new “Compute optimal retention” tool is giving me a weird 0.77 value.
What should be a proper way to come up with a target retention for this deck?

1 Like

I don’t know how to deal with that case. Maybe 90% is a good default setting for this case.

2 Likes

Can I read somewhere exactly what changed in FSRS in v24.04?

  1. The RSME for my presets is wildly different from before. How can this be? Some presets that had ~2 % RSME now have 4.5 %. Another that had 4–5 % RMSE now as 10–11 %. That seems only possible if there is now a different algorithm to predict retention, and that algorithm seems to be worse than before?
  2. Evaluating parameters is not possible for < 400 reviews anymore. Previously, I could not optimize, but I could evaluate RSME. Not a huge dealbreaker, and maybe even a good idea. Just checking if that’s indended?
  1. We changed the definition of RMSE. For details, please see: The Metric · open-spaced-repetition/fsrs4anki Wiki · GitHub
  2. Yeah. It’s consistent with optimization now.
1 Like

Awesome, thanks! I didn’t know where to look for this. FSRS has been such a boon!

@L.M.Sherlock Quick question about desktop version 23.12.1

I am on an older version of Anki using the standalone version of FSRS (Custom scheduling). If I want to continue to use the standalone version but in the Anki version 23.12.1, what is the best way to continue using the standalone version? Thank you.

You can still use custom scheduling code in Anki 23.12.1.

1 Like

Which is more advanced (or newer), FSRS incorporated in Anki or FSRS for custom scheduling?

FSRS incorporated. I haven’t update FSRS custom scheduling code since 4 months ago.

3 Likes

Something strange seems to be happening recently.

All of sudden, in the middle of the day, the number of due review cards changes drastically.

IIRC, yesterday (Sunday) ≈190 cards were due for today (Monday) (and probably about the same for tomorrow (Tuesday)).
Anki may have been running overnight, or I may have started it in the morning, and it was still ≈190 today. I recalculated either the cards reviewed during the last 5 days, or started recalculating all cards and interrupted (but maybe I did that later, so it is not necessarily relevant), and it became ≈176. But after some reviewing, I probably restarted Anki, and it became something like 50, although I did no more than 50 reviews, IIRC. For tomorrow, the new due number was something like 287. After reviewing, it was about the same, and also for tomorrow+1.

If it’s of any help, I advanced lots of cards and now I have 219 cards / 230 reviews done today, and 234 due in 1 day, and 237 in 2 days.

“Next day starts at” was probably 7, then I changed it to 6.

At 3AM after that (calendar Tuesday, supposedly Anki Monday, so still “today” per above), 0 (or only a few unburied) review cards were due, but the Future Due graph shows that this Wednesday has become an Easy Day:

  • 1 (learning? card today, Mon? Not Easy)
  • 352 (tomorrow, Tue? Not Easy)
  • 92 (Wed? Not Easy)
  • 93 (Thu? Easy)
  • 93 (Easy)
  • 92 (Easy)
  • 96 (Sun? Easy)
  • 230 (Mon? Not Easy)
  • 230
  • 224
  • 77 (Thu?)
  • 76
  • 75
  • 75
  • 200
  • 201
  • 200

I mark Thursday-Sunday as Easy Days and unmark them on each of those days if I think I have enough time, marking the previous day again. I had no backlog left after yesterday.
I recalculate often, but this issue does not happen right after that.
It is not necessarily related to a restart.
I had at least one of the “after sync” options enabled, but I do not use sync.


I don’t think any other add-ons I have could do anything like that.

  • Limit New by Young” has an automatic event, but it shouldn’t change anything but the New limit for today.
  • “Bury related notes” probably does nothing at all during reviews, and the problem is not related to burying.
  • AnkiMorphs might be able to bury cards, but not make them not due.

@L.M.Sherlock

Did you open the auto easy days?

That item is checked. I forgot it existed and haven’t been noticing it, because the menu’s right edge is aligned with the Tools menu’s right edge.

And I meant the Future Due graph, not the Review graph where I listed numbers for days.

So what’s the unexpected behaviour in your case? Only this one?

On Monday, I found that Monday has become easy, and at least Tuesday and Wednesday got its cards.
After the midnight after Monday (before Anki’s midnight), Wednesday turned out to be Easy, and Tuesday got some of its cards.
But only Thursday-Sunday are marked easy.

I figure it out, maybe. It’s due to the inconsistency between mw.col.sched.today and datetime.now() in 3AM.

Would you mind opening an issue in that repo? I will fix it when I’m available. PR is welcome, too.

Does FSRS treat Hard/Good/Easy the exact same when evaluating history to create custom scheduling?