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

The latest tutorial can be found here:

fsrs4anki/docs/ at main · open-spaced-repetition/fsrs4anki · GitHub


Nice tutorial!


I just read your article. I will try the algorithm! Nice job!!

1 Like

2 questions:

  • If I want to return to the standard Anki V3 scheduler do I just delete the custom scheduling in the deck options?

  • My maximum interval will be 100 days. Should I modify and set:
    let maximumInterval = 100; ?

  1. yes
  2. yes

There are my current settings, how can they work with FSRS?


per the wiki: FAQ · open-spaced-repetition/fsrs4anki Wiki · GitHub

FSRS only modifies the long-term scheduling. So Learning steps and Relearning steps work as usual. And I recommend using the default Learning steps and Relearning steps. It is best not to set a step of more than one day.

In the latest version of FSRS4Anki, maximum interval, easy bonus, and hard interval have been supported. You can modify them in fsrs4anki_scheduler.js.

The graduating interval, easy interval, new interval, starting ease, and interval modifier become irrelevant. The requestRetention of FSRS4Anki is equivalent to interval modifier.

I’m just going to comment in the modified settings from your image. Leech treshold will work as usual. Starting ease and new interval are not relevant to FSRS, so they will be ignored. So will the interval modifier setting, but you have the option of selecting your target retention in FSRS.


I did read the Wiki, but my worry was that the model might have been trained on vastly different settings than mine which have to be accounted for. I’m probably not understanding correctly what FSRS is doing, I’m just too dumb for all the math explanations lol.
Thank you for the answer.

You can train the model with your own data.

So the Google Collab optimizing thing is good enough and takes account of my different settings?

Yep, the optimizer will use your entire review logs to generate the personal parameters.

First of all @L.M.Sherlock, thanks for your work!

I’ve just gone through the tutorial and everything looks fine so far.

I have a doubt about using FSRS and doing reviews from AnkiMobile in iOS. I’m using the beta version 20088.5 and I can see the parameters in Advanced > Custom scheduling from my phone.

Are those honored when I review on the phone? Or do I need to use the “Reschedule all cards” action from desktop periodically?

Assuming the custom scheduling code is executing successfully, it should work the same way as the computer version.

I haven’t test AnkiMobile 20088.5 because I am not the member of test team. I will test it when the stable version releases.

1 Like

You’re welcome to join the beta if you’d like to: Beta Testing - AnkiMobile Manual

Thanks! I have submitted the request just now.

I tested it. FSRS works well on AnkiMobile. You can see the differences between pasting the code into custom scheduling and deleting the code. You can also compare the interval given by FSRS on AnkiMobile with the interval given in PC.


I think you should change the comment: // FSRS4Anki v3.9.6 Scheduler Qt6

to // FSRS4Anki v3.9.8 Scheduler Qt6

The 3.9.8 is the version for FSRS4Anki, not for scheduler. The versions for scheduler and optimizer are independent.


Very exciting work! Thank you so much for sharing with us all. It is an incredible effort!

How much variance is there between the optimized parameters for each user? If you take an average of the optimized parameters for each user in the MaiMemo data set, might that be good enough as a default for all users? How important is it for each user to train the optimizer on their own data?