If there is no retirement threshold, number of due cards will grow to infinity

Developers claim that if a user adds 20 cards daily the review limit must be at least 200 (10n). They implicitly claim that reviews will grow to 10n where n is number of new cards added. That’s not true. Reviews will keep growing to infinity.

Proof

Let’s say that someone adds 10 cards daily. They use 1d, 7d and 16d as learning steps, but they suspend cards that complete all learning steps. So the new card is first scheduled after 1 day, then after 7 days then after 16 days, then is suspended (retired). Let’s ignore lapses for simplicity, and assume 100% recall rate

  • On any given day, they have 10 new cards that were reviewed 1 day ago. They will be reviewed today and be scheduled 7 days after.
  • This means that on any given day, there is 10 cards that passed the first step 7 days ago. They will be reviewed today and be scheduled 16 days after.
  • This means that on any given day, there is 10 cards that passed the second step 16 days ago. They will be reviewed today be suspended.
  • That means on any given day, the number of due cards will be 30.

We conclude: the number of due cards on any given day is n * m, where n is daily new cards introduced, and m is the number of learning steps before suspending the cards. Note that we ignore the lapses, and this means that n * m is the baseline, and real number of due cards is actually higher than n * m. This baseline is reached gradually, and not abruptly, after the user consistently uses the SRS for a certain amount of days.

If the person above increases the duration between the 3 steps they will only slow down the growth, but will always reach 30 due cards daily.

Conclusion

Since in Anki cards never get suspended after a certain number of correct reviews, m is infinity, so the baseline of due cards daily will be infinity. This means the number of due cards daily will always grow and never reach a roof, even if you only add 1 card daily. Reducing number of new cards daily or decreasing desired retention will adjust the speed of growth to infinity, but it will always keep growing.

Solution

Provide retirement threshold. If a card is answered correctly m times in row, it gets suspended and tagged “retired”. This will prevent load from growing infinitely.

Won’t retired cards be forgotten?

Yes, maybe, but it’s not necessarily bad forgetting, because if I never review the fact inside this card in my real life for a long time, I most probably don’t need to memorize it.

For example, if the card holds a medical fact, and review is successful, and next interval is let’s say > 6 months, I can suspend the card because if the fact inside this card is important I will review it in 6 months naturally, because I will need to actively recall it while reading new material, practicing, problem-solving, …etc. If I never need to recall it for 6 months, maybe I don’t need it anyway.

If I choose a low retirement threshold, I wish to depend more on natural repetition and less on SRS. If I choose a high retirement threshold, I wish to depend less on natural repetition and more on SRS. A retirement threshold will help many users prevent burn-out.

Similar thing was previously discussed here:

But I wouldn’t consider the 10x recommendation to be any kind of an exact value, more like a rule of thumb, actually. In the long term, the reviews accumulate very slowly, and other factors, such as changing life circumstances and progression in the learning material begin to play a much bigger role than any theoretical limit anyway. And as far as graduating cards goes, I, for example, have many that already grew to intervals > 20y, and that I don’t expect to live long enough to successfully review more than a couple of times more. This makes them practically graduated in a natural SRS way, without putting any arbitrary upper limits.

Your assumptions are too extreme to demonstrate that there’s a problem to solve here. Especially since you gloss over a implicit assumption you’re making – an infinite supply of New cards. No one has that. Similarly, no one should be setting their own inflexible card schedule with learning steps, and hardly anyone has 100% recall. Even if your conclusion logically follows from those assumptions, it is meaningless once you get there, so it doesn’t support your argument that something needs to change.

The warning/advice is to set your daily review limit to at least 10x your daily New card limit is a conservative guideline, intended to counsel new users about the workload they can expect. In reality, it can be lower for many users – but your 3x estimate is so low that it simply isn’t useful.

If you’re looking to make more realistic predictions about future workload, try the Anki Simulator add-on for the SM-2 algorithm, or the built-in (experimental) FSRS Simulator. Even just an expected workload calculation, like you can find in Stats > Future Due, makes its assumptions more legitimately, because it’s only a snapshot not a predictor/simulator.

I have retired many cards and decks over the years. I save the deck/card and delete them. This is a personally choice so its kinda impossible to come up with a magical number that will work for everybody

Also, I dont know exactly what this means, but i never once checked again something that i retired as in getting back to the original cards. Inside or outside of anki. Ive been doing flashcards way before anki (yes, using pen and paper)

That being said, nobody told me about this. This comes naturally when you are reviewing a card you have no longer interest in

Retiring a card/deck could be integrated into the workflow somehow to let people know even if its obvious for some of us

But the number of reviews needed to reach >20y interval can be overwhelming, and for most learners I assume it’s unnecessary, because once the stability has become large enough you will get natural repetition in daily life and will need to recall the fact/meaning of word in life activities. Retrieving a memory outside Anki should have the same physiologic effect as retrieving it inside Anki.

This is a hypothetical scenario to prove my claim. 30 cards due is just the baseline load, real load should be higher due to lapses.

Previously I thought daily load would reach a certain roof and stop growing as long as I add the same number of new cards daily, but I discovered that this is not true. Daily load will never reach a roof, it will keep growing.

I’m not asking for a global number that works for everybody, I’m asking for the feature itself to exist. Leech threshold has no global number that fits all.

All what I’m trying to say: the daily load will keep growing, it will never reach a roof. For a life-long learner that learns n new items daily they need m number of reviews to suspend the card, or their daily load will never stop growing.

I think with SM-2 the daily load grows very slowly at the end and most load comes from “Hard” button and lapses, but with FSRS and concept of diminishing returns (if a card is very stable it’s hard to make it even more stable) daily load grows faster without taking lapses into consideration, but I’m not sure of this.

Only if you fail the card from time to time, in which case the extra reviews would be needed and getting rid of them would be detrimental.
If a card is getting only good grades, it takes less then 10 reviews with default FSRS parameters to reach 20y interval, and those will be distributed over several years of learning.
If the card is rated with easy (which should be the case if you indeed encounter a word outside of Anki often and know it well enough), the number of reviews can get down to 5.

Exactly. And users can always suspend (or even delete) any card / note they no longer want to review or are no longer interested in. I do it all the time.

Don’t really see the problem here.

I ran the simulation as @Danika_Dakika suggested, with default parameters, leech threshold of 4, and desired retention of 90%, and here are the results:

After a year of learning n new items daily, the load reaches 10n.

As expected, after 10 years of learning n new items, the load keeps growing. It reaches 16n. So if you add 20 new cards daily, expect to review > 320 cards daily after long-term usage.

I assume that most learners are bad at selecting what is important to memorize. Getting rid of old cards (after reaching a large stability value) lets the cards get filtered and tested in real life, which keeps useful cards and gives up cards that turned out to be not useful. That not a detriment, it’s healthy for good learning.

Aslo note that I’m talking about cards you get right m times in a row, and not cards that you get wrong from time to time.

Doing it manually is difficult. Think of cancelling leach threshold feature and saying “you can suspend any card you think is a leech, we don’t see a problem here”.

Which is still much closer to 10n than to infinity.

20 new cards daily for 10 years is enough to learn several languages to a good level. Accumulated 320 reviews per day sound more than reasonable for such a task.
Moreover, as @Danika_Dakika already noted, having a constant supply of new cards on such long timescales is too unrealistic. On higher fluency levels the bottleneck is finding new materials to learn, not the amount of daily reviews you can manage. To faithfully extrapolate any conclusions to 10 years, let alone to a lifetime, you have to take that into account.

I wouldn’t say that getting rid of old cards is a good way of defining usefulness either. If we are talking about advanced vocab (because what else would you learn for 10 years straight), it inevitably involves learning rarer and rarer words. Removing all infrequent words from your reviews on principle will not only exclude the words you don’t need, but also all the ones you occasionally do.


I’m not saying that because setting upper limit on individual card reviews is completely useless, by the way. Clearly other people found value in that before. But it still seems like an attempt at a solution for a minor issue, which doesn’t outweigh the app usability decrease associated with having a setting for every single parameter (on top of obvious implementation and maintenance costs).

If the core problem you are trying to solve is load balancing, there are already available means for that. One way is described in the thread I linked in the first comment. The other would be simply to decrease your leech threshold. Because there is practically no scenario in which you have to review a card too many times, unless you are regularly failing it, doing that will achieve an effect quite similar to limiting the overall number of reviews anyway.

By infinity I meant the load will never stop growing, but yes, the rate of growth slows down by time, and decreasing leech threshold slows it down even further (in the simulation at least).

Yes, that’s a possibility. If you suspend a card for any reason, you might forget it although you might need it later. I imagine it like a limited-space archive. Optimally You should archive all documents (because you don’t know which one you will need in the future), but because you have a limited space you should only archive documents that you need more frequently.

I’m concerned that Anki development depends exclusively on simulation numbers and machine learning metrics, which ignores important factors in learning like human psychology and real-world outcomes. Taking scientific literature into consideration will make development closer to real-world goals. I will refer to Levy J et al., 2023, which found that more Anki usage was not associated with higher score (it compared groups based on amount of Anki usage), however it didn’t study long-term outcomes, so I’m open to any other studies you refer to that tell the opposite.

Currently I’m experimenting retiring cards by pushing them to a filtered deck that takes cards with a large stability aside (on Ankidroid I can’t install addons). I will see how this would affect my experience on Anki.

I’m curious what effect retiring cards as you suggest might have on your workload. Have you tested this with the simulator? I have more than 1000 cards that I think I could safely retire. If that would reduce my workload enough to allow me to introduce more new cards than I do currently, I think I would do it. However, because the cards I would be retiring are mostly scheduled into the distant future, I’m guessing the effect of retiring them would be insignificant.

Unfortunately you can’t test this in the simulator because Anki doesn’t natively support it, but you can try it and see. I Made a filtered deck called “Retired” to put cards with large enough stability aside. I choose a threshold of 3 months (which is low relative to other users, but it’s fine for me), so the filter is: is:due prop:s>=90. You can customize the filter by excluding a deck or a tag forever or whatever. I rebuild that deck daily to put aside the retired cards. For me, it put about 15% of due cards aside. Since most cards reach 90 days stability in just 3 successful steps, I guess the baseline load will be 3 * n where n is number of cards I add daily. It will be actually a little higher due to lapses, but I choose a leech threshold of 3 to detect them early.

I think the biggest gain is psychological rather than actual lighter workload. I used to addict adding everything I want to memorize to my Anki, and treat the add button like a magic button that inserts a memory into my brain. I used Anki exclusively as the only learning tool. After being limited, rather than forever, I treat Anki like an assisting learning tool that helps me stabilize a memory strong enough. I don’t add as many cards now. Also, I now appreciate more the importance of integrating other methods of learning like regular reading and practicing to prevent myself from forgetting retired cards. Even if I forget some, the retired fact/word will likely be familiar to me, which will make it easier to relearn I guess.

Really interesting. Can definitely relate to the “magic button” addiction. It’s an issue for me because I have so many new cards I’d like to study but can’t because my workload would balloon.

I was thinking of a very conservative retirement filter along these lines: -rated:500:1 -introduced:500. To get cards I’ve answered successfully many times in a row. That would grab about half of my mature cards.