When several relearning cards remain, Anki sometimes stops cycling through the complete set and repeatedly alternates between only two cards.
For example, I may have approximately 15 cards remaining. Anki initially shows all 15 in sequence while I give each card the same rating. The next pass may include only five cards. It can then contract into a persistent sequence such as:
The other cards have not graduated or received different ratings. If I stop studying for approximately five minutes and return, Anki again cycles through the complete set.
Is this two-card alternation intended? It appears that, after the ordinary review queue is empty, an answered learning card may be reinserted behind only the next learning card rather than behind the complete currently eligible set. Would reinserting it at the end of the eligible learning set provide fairer round-robin behavior?
Technical details
AnkiDroid 2.24.0
Backend 25.09.2
Scheduler v3
FSRS disabled
Learn Ahead Limit: 80 minutes
Custom scheduling gives learning/relearning cards fixed 25- and 40-minute short choices
Every card in the described sequence receives the same rating
Setting Learn Ahead to zero hides all remaining cards behind “finished for now”; restoring 80 minutes makes them reappear
It sounds like it’s behaving as designed. It all depends on the length of the step delay for each Learn/Relearn card, with a small amount of Fuzz Factor.
Cards will only be pulled forward by the Learn Ahead Limit when there are no other cards available to study. These Learn/Relearn cards aren’t yet available, because they haven’t reached the end of their step delay, but Learn-Ahead will pull each card based on the order it would have come due. Even though you’ve set them all on the same step, they will fall into an order because they weren’t all graded at exactly the same moment or set on exactly the same delay.
So, the first trip through them, you’ll probably see all 15, because your steps are so long. But if you keep cycling through them, you’ll have graded them all much closer in time to each other, so ones that have been set for the shorter end of the fuzz-range might naturally float to the front – giving you that effect of alternating, because they are still due sooner than any of the other waiting cards.
It won’t make any difference with what you’re asking about here, but you should consider enabling FSRS.
Thank you, that perfectly explains the stable two-card alternation and why waiting several minutes restores the rest of the set.
My underlying goal is to keep a small relearning set rotating fairly. If I were holding physical flashcards and had reduced a stack from 60 cards to 15, after reviewing each card I would place it at the bottom of those remaining 15. That would maintain a round-robin rotation and avoid repeatedly alternating between only two or three cards while the others wait.
Would round-robin reinsertion of this kind be worth considering as a possible feature request for situations where Learn Ahead has pulled the remaining learning cards forward?
The FSRS setting is separate in my case because I am deliberately testing a custom interval policy with FSRS disabled.
I don’t think it is. Studying those 15 cards in the same order over-and-over isn’t a good method to learn or memorize them. It clashes pretty hard with the concept of spaced-repetition studying.
First, studying cards in a uniform order isn’t very effective. You’re as likely to memorize the sequence of the 15 answers as you are to memorize the relationship between each question and answer. Knowing what answer comes next interferes with your main goal.
But on top of that, you shouldn’t be churning through a set of cards repeatedly. If you get a card wrong, you should figure out why, relearn the material, and make sure you’re more likely to get it right the next time. If that isn’t working, you should figure out why – don’t just put that card at the back of the stack. And if you get a card right, you should let it be rescheduled, so you have more time to devote to the cards that really need your attention.