figmnt

The Spaced Repetition Trap: How I Optimized Myself into Review Hell

For the past three years, Anki has been the center of my Japanese studies. It’s a Spaced Repetition System (SRS) built on the simple idea of using math to predict the exact moment you are about to forget a flashcard and showing you that card at the right time. I’ve used it for over 1,000 consecutive days, rain or shine, while having COVID, and even while at Disney. And after three years, I want to share some of my realizations about the engine driving it all: FSRS.

Anki heatmap showing 1004 day streak

While 1,000 days is definitely a big milestone, I’m not the perfect student. I struggle with grammar, I dread focused study, and I don't immerse enough. I just do a lot of Anki.

I've always subscribed to the First Rule of Anki: you never miss a day of Anki.

Like many, I started with a standard pre-made flashcard deck known as Core2k. It was good enough, but the quality of the cards was inconsistent. I found myself deleting some of the odd images it came with since a blank image on the card would have been an improvement. Still, I saw steady improvement, so I stuck with it. Eventually, Kaishi 1.5k was released, which solved almost all my complaints with better images, structure, and example sentences. It's a great deck and the team has done a great job.

Then came the next big potential improvement, FSRS (Free Spaced Repetition Scheduler). This new algorithm replaced the previous Anki SRS algorithm (SM-2) for deciding when to surface cards. It sounded magical. A smarter system that "learns how you learn" and reduces your review load. I enabled it, trusted the process, and kept going.

With time and "sentence mining" (where I create flash cards from words I found while actually using Japanese) my deck grew to 2,500 cards. It's not a massive number (many get there in six months), but I'm proud of it. It shows my grit, my determination, and my hard work. Comparison is the thief of joy. I know I'm on my own journey.

But why couldn't I learn more cards given so much time? My review workload never "stabilized." Whenever I added new cards, my daily reviews spiked, forcing me to stop mining just to maintain my streak. I optimized regularly, hoping it would "help," assuming my grim Anki stats merely reflected my poor memory. I forgot that FSRS is just a tool. I felt stuck.

At a target 90% retention rate, the algorithm had almost all my cards sitting at near maximum card difficulty 96%.

FSRS Difficulty Distribution skewed to 96%

For context, my predicted retrievability was 97%.

Predicted Retrievability Graph

My actual retention is a bit more disappointing, with my mature cards sitting at over 90% but young cards much lower. Actual Retention stats showing high mature but lower young card retention

I was reviewing almost 300 cards a day and making zero new vocabulary progress. Maybe these stats are simply the truth: Anki is working, my memory is accurately mapped, and these cards really are that hard. Maybe this volume is just "part of the process". But reviewing 300 cards a day didn't feel like I was learning; I was rushing through cards to get it over with. I couldn't mine new words without a massive spike in daily reviews. Maybe I am honestly bad at kanji memorization. Maybe it's my stressful job. Maybe I'm just mentally exhausted.

So I tried actually improving my memory. First, I tried to change when I do Anki. I switched from 2am and 3am late night reviews to first thing in the morning sessions, which boosted my retention from 76% to 87%. Hourly Retention Rate showing morning improvement

It helped, but the review load didn't drop, or at least not noticeably even after months even after my retention improved. And recently, while reflecting, I started wondering if my FSRS weights were trapping me in a loop. Had I optimized myself into a hole?

The "Blind Learning" Trap

I think I've realized an issue with FSRS for learners like me who use Anki for blind learning. Instead of reviewing words I've already encountered, I use Anki to memorize new words from scratch.

I am brute-forcing memorization. Because I haven't seen these words before, let alone tried to read the kanji (漢字), they don't stick. These shapes might as well be random numbers; they all look the same. I might 'pass' them on day one, but I often forget them by day three. To FSRS, it looks like this card is extremely hard (which it is). It sees me passing a card to "graduation" on my first day and then immediately failing it later. The algorithm concludes I have a terrible memory for these cards and penalizes me with short intervals. In reality, I just hadn't learned them yet. Worse, after 1,000 days, I'd like to think I can recognize kanji better, but FSRS doesn't think that I do.

FSRS is not designed to handle this; in many ways, neither is Anki. The language learning community is taking a tool meant for review and turning it into a primary source. It works, especially if you do it right (with lots of immersion) but it wasn't intended for this.

For someone like me, learning Japanese through brute force (flashcards) with infrequent immersion, I am finding it doesn't work.

Overly simplified, FSRS learns how hard a word is by how often you fail it, and improves as you pass it. Then, when you click "optimize", the system scans your history to tune the weights specifically for you. These settings control how the algorithm predicts when you will forget.

Quoting A technical explanation of FSRS by expertium, an FSRS expert / developer

Putting the "mean reversion" aside, difficulty basically works like this:

Again = add a lot

Hard = add a little bit

Good = nothing

Easy = subtract a little bit

The Two-Button Trap

Worse, as a pre-FSRS Anki user, I'm also a "two-button user". Standard Anki offers four options to grade a card: Again, Hard, Good, and Easy. Like many long time Anki users, I only use Again and Good to avoid potential problems with SM-2, the previous algorithm. This created another trap.

If "Good" doesn't actively lower difficulty (it only prevents it from rising), and "Again" adds a lot, the difficulty of a card can only meaningfully go up unless you hit "Easy", which I never do as a two-button user. Over time, I locked myself into high difficulty with no escape hatch.

FSRS thinks you never change

To make things worse, as I dutifully optimized, FSRS treated my entire review history the same. It treats Day 0, where I'd never really "seen" Japanese and studied at 3 AM, the same as Day 1,000, where I study in the morning and regularly consume native media.

The Nuclear Option

So I chose the nuclear option: I reset my FSRS weights and rescheduled all cards. This brought me closer to the "normal" weights and instantly dropped my daily review count to under 100, even with my 96% difficulty rating. While reading about others' experiences, I found I wasn't alone; one post called it Difficulty Hell, a reference to the original "ease hell" I was aiming to avoid by being a two-button user.

The trade-off? My retention might drop. But if it means I can spend less time in Anki and actually focus on learning new words again, it's worth it.

Takeaways

My FSRS weights are not working for me. I'm sure FSRS is doing exactly what it's designed for but for typical Anki users learning blind, I'd argue, FSRS guidance needs to change.

Yes, I could change the retention. Yes, I could try switching to 4 buttons so my easy reviews eventually drive down the difficulty. But lowering the retention target is just a band-aid. My FSRS weights are biased including years of study at 3am and a lot of data where I was still getting familiar with Japanese. I'm already in this hole and it'll likely take a long time to get out of it. While you can eventually "out review" FSRS and teach it the "new you", why fight uphill when you can just hit reset?

  1. FSRS optimization bakes in your past: It doesn't distinguish between "you on Day 1" (studying at 3am, zero kanji knowledge) and "you on Day 1,000" (morning study, and now reading native Japanese media). All your review history is weighted equally when you hit "Optimize."
    1. FSRS works well when learning makes logical sense or builds on prior knowledge (like anatomy terms for med students). But it struggles when you're bootstrapping from zero, where every card starts out hard and gets easier over time.
  2. Don't optimize in the "raw learning phase". If you are blind learning, consider never hitting "Optimize", or use the "Ignore reviews before" feature to exclude your initial struggle phase. Otherwise, the optimizer treats Day 1 failures the same as Day 1,000 failures even after you've gotten better at the language overall and can now tell that tree (木) and forest (森) are related because they both show tree (木).
  3. The 2-Button warning. If you only use again/good, your difficulty can effectively get locked into high difficulties. You need "easy" to signal that a card has become trivial. I believe technically the good button will cause you to revert to the "norm" if you do it enough, but the power of the good signal just isn't enough to do this at any reasonable speed for those already stuck.
    1. In my defense, I was swayed into sticking to being a two-button user because I didn't want to change too many things from the SM-2 days. I also felt confirmed when I read a post like FSRS is more accurate if you only use Again and Good from expertium. However, looking at the article now, the post was edited to say the results were inconclusive, a caveat that wasn't there when I first read it. My conclusion is simple: a learner with my profile should likely avoid the two-button method. Yet, I haven't taken that plunge myself.

Now that I'm out of blind memorization, I hope to start mining again once my cards stabilize. I'm willing to accept lower retention if it means fewer reviews and more time for other things. Anki is a tool, not the learning. My biggest improvement came from reading a novel, not flash cards. Now that I've reset the algorithm, I hope to get back to what matters, learning the language.

#anki #japanese #learning #retrospective