Improve handling of (many) overdue cards

Ben Reilly's Avatar

Ben Reilly

08 Jan, 2014 09:44 PM

Too many overdue cards

I recently took a break from studying my kanji deck, only to return to about 1000 cards that are overdue. With my current schedule, I can currently only handle about 100 per day. At best, then, I could catch up in under two weeks, assuming no/few incorrect responses. But given that I'm going to get many of them wrong (since several cards were new when I started my break, and are therefore completely forgotten), Anki doesn't make the catch-up process easy.

Each day, when I receive my 100 cards, they're the oldest, most overdue cards in my deck. So if yesterday I was reintroduced to a card and got it wrong, I won't see it until I've been through all of the overdue cards, which will take 10 days! Certainly, a 10-day gap between a (re-)learning and reviewing makes it difficult to remember the card, and it doesn't seem very SRS-like to me.

Faster catch-up

So I'd like to propose a solution in which we distinguish between overdue cards which are "fresh" (were due ≤N days ago) and overdue cards which are "stale" (were due >N days ago). The idea would be to have different review limits for each sub-type of overdue cards. Then, I could limit the number of stale cards to a smaller value, but ensure that we see all of my fresh ones. In this way, I can still get through the older cards over time, but, once they're reintroduced, I have hopes of re-learning them, because I'll see the incorrect ones the next day (since they'll now be "fresh").

As cards move from stale to fresh, I would more quickly re-learn cards, which will cause the overall overdue stack to shrink. This solution also has the added benefit of allowing one to add new cards to learn, without them being pushed to the back of queue, thus exacerbating the issue.

As it is, Anki doesn't help to make catch-up easy, but I think this solution would be a simple way to fix that.

  1. 1 Posted by Soren Bjornstad on 08 Jan, 2014 10:10 PM

    Soren Bjornstad's Avatar

    There is an ordering option for filtered decks called "relative overdueness," which takes into account not only the card's current interval but also how long it's been overdue relative to that interval. So a card which is overdue by 2 days but has an interval of only 3 days is shown before a card which is overdue by 7 days but has an interval of 5 years. I think this is what you're looking for?

  2. 2 Posted by Ben Reilly on 09 Jan, 2014 06:25 AM

    Ben Reilly's Avatar

    Thanks, Soren, I didn't know about that feature. I've tried it out just now, and it does order things in a way that helps with catching up.

    It's not perfect, though. The biggest issue for me is that I can't mix in new cards easily (perhaps there's some way to manipulate the search string to include the next N cards, but I'm not sure how). And actually, that brings up the second issue, which is that this isn't a front-and-centre solution to catching up on overdue cards.

    It seems to me that since backlogs are very common (all someone has to do is go on vacation for a week), Anki should be very clear about how to catch up. It could be as simple as allowing the user to sort reviews by the "relative overdueness" metric rather than oldest-first, or else tagging a deck temporarily as "backlog", which changes some settings to help with clearing it.

    In the meantime, though, the filtered deck works well, so that will help. So thanks again for the tip.

  3. 3 Posted by Heather on 09 Jan, 2014 06:44 PM

    Heather's Avatar

    I use this method with backlogs (and used a custom set of filtered decks before this sorting method was setup - and it works well.)

    In my settings for the filtered deck, I make sure that "learning" cards are not included. If I need to add new cards into my study, while still taking care of the backlog (ie, trying to keep up with a course or something) I can then use the main deck to study new and learning cards, as well as the filtered deck for the backlog.

    I also rebuild the filtered deck every couple of days as the relative overdueness of a particular card will change over time. This also adds in the cards that I've recently learned into the mix to be prioritized.

    Yes, I think now that this feature exists, it needs to be better promoted in the manual.

  4. Support Staff 4 Posted by Damien Elmes on 10 Jan, 2014 09:15 AM

    Damien Elmes's Avatar

    If you only miss a day or two, the standard scheduling should be fine. The
    filtered deck scheduling is mainly useful if you have an extended absence,
    which should certainly be the exception and not the norm.

  5. 5 Posted by Heather on 10 Jan, 2014 04:06 PM

    Heather's Avatar

    Yes, I agree that this is mainly for after an extended absence...

    As my students aren't using ANKI over their summer holiday, they have a 2 month backup in September. This generally takes a while to catchup (they only have a limited amount of time during school to do ANKI) and they do need to have their new work added to ANKI while working off the backlog. The filtered deck works on the backlog and recently added review cards, while I can use the original deck to work on new and learning cards. By rebuilding the filtered deck occasionally it re-prioritizes the cards, and includes in the recently added review cards. We are in this process of clearing backlogs for about a month in September, and about a week after Christmas break.

    [My students are ages 5-10, and do ANKI with me instead of totally on their own.]

  6. 6 Posted by Ben Reilly on 10 Jan, 2014 09:09 PM

    Ben Reilly's Avatar

    I've been using the filtered deck, and I think it's doing the trick. Glad to hear that someone uses it in this way too.

    I would agree that extended absences aren't the norm, but I'd disagree that they aren't important to handle efficiently and to bring the solution forward so that people can easily discover it. Heather's example of her students taking the summer off is a good one, and speaking from my own experience, even though I study most days, in a given year I end up missing several weeks due to illness, vacation, and the like. I've been using Anki for 20 months, and it's only now that I know how to handle backlogs more effectively (and in fact, the feature was only added in 2.0.14).

  7. 7 Posted by Heather on 11 Jan, 2014 01:13 AM

    Heather's Avatar

    Xiao, people have different circumstances, and I don't think that making a judging type of statement to a person is at all helpful.

    The reality is that life happens, and things get not done that you would prefer to have had done.

    It is helpful if the person has a plan to work through the backlog (and keep up with new material if required) than for them to just see a huge number that overwhelms them with no plan. The new sorting of relative overdueness helps take care of the backlog more efficiently than the previously available methods.

  8. 8 Posted by Heather on 11 Jan, 2014 01:18 AM

    Heather's Avatar

    And Xiao, if you are commenting that my students are only doing 100 cards a day - um - how do you know how many we are doing?

    And if the vacation is not an excuse was also directed at me - did you notice the age range of my students? they are 5-10 years old - and believe me in summer time they are not motivated to study their math or spelling - not to mention that they go to camp for 1-2 weeks at a time. All that besides the fact that they do ANKI WITH me, and do not own smart phones either.

  9. 9 Posted by Soren Bjornstad on 11 Jan, 2014 04:42 PM

    Soren Bjornstad's Avatar

    Xiao: Please do not insult other users' methods of using Anki.

    As this thread has strayed off-topic and the original question was answered, I am closing it.

  10. Soren Bjornstad closed this discussion on 11 Jan, 2014 04:42 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac