How filtered decks with the "reschedule flag" checked influence the interval of the cards

Dear Anki community,
I’ve got a real complex situation here.
What maths are performed by a filtered deck when the option Reschedule cards base on my answers in this deck is checked?
E.g.:
Checking the info of a specific card I find 280% ease, a current interval of 8.8months, and the due date for that card is the 3rd of March 2022.
The Anki algorithm is not going to show me this card until that day, but I’m cramming since tomorrow I’ve got a test so I’m creating a filtered deck with that card inside.
Now, obviously no delay is involved, so the calculation in theory should be:

  1. AGAIN: Relearning Phase, with the relearning steps if provided or New interval * Last interval;
  2. HARD: Current Interval * Hard interval * Interval Modifier;
  3. GOOD: Current Interval * Ease * Interval Modifier;
  4. EASY: Current Interval * Ease * Easy bonus * Interval Modifier.

My Interval Modifier is set to 1.00 so it doesn’t influence the result at all. Easy Bonus is 1.30, Hard Interval 1.20, and all of the other settings are default.

The interval suggested from Anki’s answers for this particular card in example in this filtered deck (which is using the same options as above) are:

AGAIN : 20m (1st relearning step)
HARD: 4.2months
GOOD: 8.8months
EASY: 9months

I cannot find a real formula that leads me to these values. I simply do not understand the process behind these results.
Good is simply applying the SAME old interval to the card starting from today, the day I’m answering this question with the filtered deck with the reschedule option checked. (The new due date is 8.8 months from now.)
So no Ease factor, maybe just the Interval Modifier but I cannot explain the other results.
Can you please help me find an answer?
Thanks a lot for your attention and time.
Valerx

I can’t give you the exact formular right now, but if you study a card early, and the number of days since the last review is less than the previous interval, it wouldn’t make sense to assign a larger interval this time, because you haven’t proved that you can retain the information for longer than the last time.

I’ll try to break it down:

  1. Some card comes up with interval X and you review it successfully. A new interval Y is calculated. (e.g. Y = 2.5 * X)
  2. You review the card early, say after interval Z. Let’s assume not only Z < Y, but even Z < X. Therefore, the longest interval over which you could retain the information is still X. Nothing has changed, so we perform the same calculation as in 1., leading once more to Y as the new interval.

Something like this is happening in the Anki algorithm. Things get a bit more involved if X < Z < Y.

4 Likes

Dear @Rumo ,
Thank you very much, I appreciate your answer.
The situation you have described makes a lot of sense.
What I really wanted to understand is how ANKI manages this type of scheduling information in depth, maybe someone knows the exact formulas.
Thanks again and have a great day :grinning_face_with_smiling_eyes:

1 Like

Glancing over the code, the calculation when hitting Good seems to be indeed the same as for non-early cards, with the minor constraint that the new interval cannot be larger than the originally scheduled one. For cards answered Hard or Easy, more significant penalities seem to be involved, but I haven’t looked at that in detail.
See below for the relevant code. Does that help? If not, I’ll try to translate it in the next days. Or maybe someone else will beat me to it. :slightly_smiling_face:

2 Likes

Okay, here are the (simplified) formulars for the other two buttons:

Hard

new_interval = max(elapsed_days * HARD_INTERVAL, current_interval * HARD_INTERVAL/ 2)

Easy

new_interval = max(elapsed_days * ease_factor, current_interval) * (EASY_BONUS / 2 + 0.5)


2 Likes

Dear Rumo,
Thanks a lot for your help and kindness.
This is exactly what I was looking for when I found this feature of the filtered decks.
Wish you all the best,
Valerio

1 Like