Bunpro's bad SRS algorithm is discouraging

I don’t think we necessarily have anything against FSRS. My understanding is it is the best algorithm out there for optimizing that time interval to get it as long as possible.

However I do think it to some degree goes against our goals of giving lots of exposure and building a user up to a point where they start to feel comfortable going out and consuming native material.

At the end of the day Bunpro or any SRS for that matter is good for building up a foundation but you won’t ever reach fluency without interacting with a massive volume of Japanese, whether that is reading, listening or speaking.

Ultimately, I think our approach is a bit different from other services.

Rather than try to maximize the length of time a user uses the site (content gating, trapping users into spending years doing reviews, etc), our goals is to get them to the point they no longer need Bunpro as quickly as possible.

If by using Bunpro, a user progresses to the point they feel they no longer need Bunpro, then we consider that a win in our books.


Regarding your points, since our approach is to generally try to provide flexibility and customization and trust that the user knows what works best for them, I don’t in particular see anything wrong with your suggestion of putting the option for FSRS behind a settings/beta flag (for either all vocab or all vocab and grammar?) as long as we include caveats about how it will impact their review timings, ability to earn xp, etc.

10 Likes

Instead of -1 to the streak, something like cut the streak in half for content over a specific srs level?

9 Likes

Either the ability to choose between more options than (-1) or implementing something similar to Wanikani’s (WaniKani’s SRS Stages | WaniKani Knowledge) that will do a heavier drop if you’ve clearly forgotten the point. That seems to me to address my (and OP’s!) concerns for the most part.

In my experience and I think many others’, it’s easy-ish to get something up pretty high (Seasoned) when the point is still fresh in your mind, but also to forget before you see the next review as the intervals lengthen. Dropping down “slowly” means that the intervals are still so long that you’ll surely still have forgotten it by the next time you see it, and so on and so forth. An option to enforce a steeper “drop” on an item upon getting it wrong some number of times (1-3?) when it’s at a high enough level would help us really learn points that didn’t quite stick for the long term without them languishing for weeks or months!

This also meets your aim above:

Rather than try to maximize the length of time a user uses the site (content gating, trapping users into spending years doing reviews, etc), our goals is to get them to the point they no longer need Bunpro as quickly as possible.

since this will help us learn points for good rather than having items stick around far longer than they should.

I always wince when WaniKani drops me back to Guru on something, but I have no clue how I’d learn it otherwise!

In contrast, when I forget something in Bunpro, I tend to continue in a state of not having learned it for a long time, prolonging my long-term Bunpro use :slight_smile:

Thank you for your consideration!

13 Likes

I vibe with this answer, a lot, actually.

Cheers.

6 Likes

I agree with this suggestion. Simply adding it would mitigate most of the current issue, and it’s a simpler solution (I think).

4 Likes

I don’t like Wanikanis system actually as I find it also gives too much leeway before you see the card you’re struggling with again. Anki equivalent is the most efficient for me as a lot of the time when I get something wrong on bunpro its not “It was that point instead of this one!” it is a “I forgot that point even exists.” However I never get that feeling with Anki as it will keep showing up until I get it, and also never ‘truly’ be mastered (burned in wanikani) as I’ll see it again in a years time or so.

I don’t want to hijack this thread but for me much more brutal then the SRS lengths here, does anyone else run into this? It happens so much for me that I get a couple wrong just because what its asking for is simply not taught.

I really like this idea a lot, especially if it is a setting that users can have a little bit of extra control over in terms of agressiveness. Like drop back to 3, drop back to 5, drop back to 1 even, etc. One of the things that really doesn’t work with FSRS with the way that Bunpro designs content and reviews is that, specifically because our reviews give a different example sentence with each new SRS level, it slightly defeats the purpose of something like FSRS.

Here is an example of what I mean by defeats the purpose. FSRS is designed to work very well specifically when users very honestly rate themselves on remembering a piece of previously seen information, rather than new information. They are then given options such as

‘Again’, ‘Hard’, ‘Good’, or ‘Easy’.

‘Again’ is the only one that drops the time, while ‘Hard’ generally keeps it around the same. ‘Good’ and ‘Easy’ then have their own separate timers. Implementing this would require a Bunpro user to not only know how FSRS is supposed to work, it would also require them to evaluate for every single sentence the reason why they didn’t get the answer correct. Did they completely forget it, did they have too many better known grammar patterns in their head, did they just make a simple typo?

The user would have to analyze which button to press for each and every sentence, and also think back on other sentences where they have reviewed the same grammar. If we imagine that the student actually knows the grammar, but the sentences themselves have varying levels of contextual difficulty, then the instance where they press ‘Easy, Easy, Again, Hard, Again, Easy’, when each sentence is actually different, might prove nothing more than that they had two easy sentences, followed by one they didn’t get, followed by one they kinda got, followed by one they didn’t get, followed by one they did get.

The SRS is building them a retrievability predictor based on something that cannot be predicted, as they are seeing randomized or progressive sentences, rather than the same thing that they made the mistakes on. Basically we’d have to give every single sentence its own SRS timer, rather than each grammar point, for FSRS to work effectively. All that would actually achieve though is people memorizing the exact sentences they struggle with, rather than exposing them to many different usages of a grammar pattern. It would also result in a huge overabundance of reviews where people press ‘Hard’ just because they want to keep something at a similar interval.

@tlock Another thing that we are taking into consideration and building on improving is what we feel to be one of the primary reasons a lot of users get certain questions wrong. This would be the fact that they are just seeing more common grammar points far more often in their day-to-day lives, so they’re not getting the amount of exposure needed for trickier/rarer grammar points to be at the front of their mind when doing reviews where potentially many different answers would be acceptable. As @Jake mentioned, we’re working on a fix for this that we think will mitigate this problem a lot.

Not sure if these examples provided are actually helpful or not, but hopefully some of the points that we’re concerned with stick out a bit more clearly now. Basically we want to find the best solution without creating a state of analysis paralysis in users where they don’t know what difficulty they should be pressing on every single review.

7 Likes

Yeah, I seem to struggle the most with points that are between Adept 3 and Seasoned 3 because when I miss one of them due to clearly not remembering it, the interval before I see it again seems so long still, and thus it takes a long time for an item to get to an SRS stage where I actually remember it again (especially a Seasoned 3 item dropping to Seasoned 2… and thus slowly dropping down to Seasoned 1, then Adept 3…)
Comparatively, I missed an Enlightened item on WK (4 months) and it dropped down to Guru 2 (2 weeks) which is a HUGE drop.

4 Likes

@Jose7822 @Flandre5carlet I have added it on the list to go out with the SRS timings changes when that gets implemented.

12 Likes

@Jake Thank you :pray:

1 Like

Thank you so much!!!

2 Likes

I’ve been thinking about this thread a lot. I’ve run into similar grammar learning challenges around the seasoned SRS levels where I’m trying to convert my learning from medium short term memorized content (several weeks to about a month) into long term understanding.

I find that I’ve done one of the following: Forget the grammar point, partially remember the grammar point but get it confused with grammars that have similar structure, remember other grammar points that have similar meanings and struggle with distinguishing between the nuance of those grammar points (for example, there are about 15 different grammar points that translate to “Even if”).

It would be nice if there were review questions like Effective Japanese Usage Guide: A Concise Explanation of Frequently Confused Words and Phrases for Bunpo grammar, where you are tested specifically on nuance between similar grammar points. Usually, I have to get something wrong to discover how the nuance differs from another point. Maybe in addition to the steeper SRS knockdown, a new cram tab could be added to quickly add grammar points that have a similar translation or have a similar construction. In the long term, maybe there could be a boss battle grammar gauntlet mode to specifically address nuance and confusion with similar grammars once you hit a certain medium high SRS level.

Even when reaching moderately high SRS levels, I find I sometimes have to spend a minute or two trying to recall the context around the grammar point before actually remembering it. I think the best solution for all of this right now is to cram entire sections of a JLPT N level at once.

12 Likes

Easy solution, reset progress on that item manually

Actually I think it updated and now you can set your SRS to drop to zero on failure

1 Like

I was not part of the original discussion, but you can do that now. Under the general tab, you can set SRS strictness in review settings.

3 Likes

Follow-up

The first iteration of the planned SRS changes was implemented. In this phase we released:


Updated SRS timings
The changed SRS timings are:

  • 7 - 12 days [down 2 days)
  • 8 - 24 days [down 6 days]
  • 9 - 48 days (~7 weeks) [down 12 days]
  • 10 - 96 days (~ 13 weeks) [down 24 days]
  • 11 - 176 days (23 weeks) [down 4 days]

These are the interval that is set for the next review after you get the review correct. So if you are at streak 6, get the review right and go to streak 7, your next review would be in 12 days.

The timing update also included changes to the time interval after getting a review wrong and going down in streak.

We didn’t adjust existing reviews to use these new time intervals, however this change was silently pushed so many of your reviews may already be using the new timing.


SRS Strictness
Implemented @akkim2 's suggestion to choose more than just (-1) to the streak when you get it wrong. This is available under the “General” section in https://bunpro.jp/settings/reviews. The options are [1, 2, 3, Half, Full].

In the case of [Half], the number of levels you drop is half of your streak rounded up. So if you are at streak 7 and get it wrong, you go back to streak 4 ( 7 / 2 = 3.5, which rounds up to 4).

In the case of [Full] you go all the way down, so use with caution!

The default SRS strictness is set at [1].


In a future update we will include changes to how ghost reviews are timed and also add an option in an advanced settings section to allow you to use FSRS.

As you use the new timings and SRS strictness settings, we would love to hear any feedback you have, especially if you feel the changes are helping.


As always, thank you to everyone for the feedback and discussion. It helped guide us toward making the necessary adjustments :bowing_man: !

41 Likes

Shouldn’t it be streak 3 if it rounds down?

1 Like

Sorry that wasn’t clearer, it rounds down the amount of SRS decrease.

So half of 7 would be 3.5 which is rounded down to 3. That 3 is what is used as the number of steps to go down.

I edited my post so it was more clear. In retrospect, I could have just said the srs is cut in half rounded up :man_facepalming:

5 Likes

Very cool to have these options now, I’ll try out the half setting and see how it goes

3 Likes

Thank you so much!! This is outstanding!

3 Likes