Why are the SRS spacing so weird?

After I spent some time here at WaniKani, I’ve noticed that the time spacing are pretty odd. They are like this:

Apprentice 1 —> Apprentice 2: 4h
Apprentice 2 —> Apprentice 3: 8h
Apprentice 3 —> Apprentice 4: 1d minus 1h
Apprentice 4 —> Guru 1: 2 days minus 1h
Guru 1 —> Guru 2: 1 week minus 1h
Guru 2 —> Master: 2 weeks minus 1h
Master —> Enlightened: 30 days minus 1h (information taken from heatmap)

I assume that Burned will be the same, 120d minus 1h.

Why is there always that minus 1 hour? I’m not complaining about it, as I’m actually pretty happy that it is like this, but I was just wondering…


I think it’s so the next review time doesn’t ‘creep’ or so to say.

If you did your guru review at 1234, if it was 48 hours to the next review, it would arrive again at 1300.

Then if you did the review as soon as it came up, the next review time would be 1400. etc etc

by having the 24 hours minus 1h if you do your 1200 reviews on time, the next time it will show up again will be at a 1200 review slot


Hm, but if I do my reviews at, for example, 13:15 for Apprentice 3, then the review forecast shows me the next reviews at 12:00 the next day. So, if there wouldn’t be this missing hour, the next review should be at 13:00, right?

That’s what confuses me a bit, I think :sweat_smile:


No, the creep happens the way it is now.

I don’t remember seeing a reason for it, could very well be some kind of programming quirk


beats me then


It is to prevent ‘creep’, so to speak, but…

Actually, WaniKani always ‘rounds down’ times, so that even if you do a review at say 12:59, if the timing were 48 hours, then the next review would be at 12:00. However, with 2 days less an hour, it ends up being at 11:00.

The idea is not about rounding times down – as that’s already handled by just actually rounding times down – it’s about being able to ‘recover’ one’s schedule even if one is a little bit late here and there.

Suppose one likes to do one’s reviews every day at 9:30. But sometimes, one might be a little bit late, starting at 9:45 for example. And sometimes, your session might take a bit longer than usual, so that some of your reviews occur between 10:00 and 10:15 (or even up til 10:59 actually). If the timings were strictly on a 24-hour basis, then those ‘late’ reviews would now be scheduled for 10:00, rather than 9:00. And thus, next time around, if you normally do reviews at 9:30, then these late reviews would not be ‘ready’ yet, and so you might not even get to them before you have to go for work or whatever. And so they end up rolling over to the next day. Not a huge tragedy, but certainly an annoyance.

So, instead, they just shave off one hour for anything scheduled in 24-hour increments (anything beyond the 8-hour timing). So, anything done between 10:00 and 10:15 (or even up til 10:59), will get rescheduled to 9:00 instead of 10:00. Then, the next time around, when you do your reviews again around 9:30, those items will still be ‘ready’ and you can review them as desired.

It’s just to handle the non-ideal case when ‘stuff happens’ and you can’t review exactly on your daily schedule. Instead of ‘losing’ items to the next day, they will be made ‘ready’ a little bit earlier than a strict 24-hour scheduling would allow.


I’m fairly certain the intervals round down, so it would arrive again at 1200 in that scenario. However, there is an additional hour subtracted over and above that rounding which means it will arrive at 1100. That additional hour subtracted there could potentially actually cause creep in the opposite direction if you do every review exactly when it’s available.

However, I highly suspect it’s the way that is with the expectation (and to encourage) that people will do their reviews in batches at set intervals to reduce the overall amount of time you need to be tied to the platform doing reviews. In particular, it seems to be very much based around 12h and 24h intervals.

Subtracting the extra hour allows you to stay on that schedule even if you get delayed a bit and end up completing the reviews slightly into the next hour. Life happens and sometimes you get interrupted. That extra hour buffer has already allowed me to stay on schedule several times!

For a concrete example, let’s say you always do your reviews at a specific time in the morning and then again 4 and 12 hours later (for simplicity we’ll assume you get all the reviews right). Call it 10am, 2pm, and 10pm. Then, say you also always do a set number of lessons after your reviews in that 10am time slot. The reviews for those lessons will come due again in 4 hours at 2pm. Then if you do the reviews for those lessons again at that point, they’ll be due again in 8 more hours at 10pm (there’s that aforementioned 12h interval and it falls exactly in your 10pm time slot). When you do those reviews again at 10pm, they’ll be due the next day at 9pm.

Now, what would happen in that scenario when life happens and you’re delayed 20 or 30 minutes on your reviews in your 10pm time slot and/or the reviews take longer than anticipated so you end not finishing some of them until 11:05pm? They’ll be due exactly in time for your 10pm time slot! Without that additional hour subtracted you would have to wait an additional 12 hours longer than the intended interval before your 10am time slot came around again.

In short, as long as you stick to your time slots, even if you end up not getting done within the hour for whatever reason, the additional hour buffer means that the reviews will be ready to do in your time slot as desired.


I think that is the actual reason for the “missing” hour, and it makes perfect sense to me, as it has already helped me as well a cuple of times to keep my schedule consistent :slight_smile:

1 Like

Here’s a link to the original thread from June 2014 requesting this feature:


Just for fun, here’s a link to a discussion six years later, in May 2020, in which Viet seems to have forgotten all about the June 2014 discussion, and announces that the feature is going to be scrapped (see the original version of the post before the later edits).

In response to user feedback they decided not to scrap it after all.


BTW, someone mentioned Daylight Saving Time in that thread, and that sounds like another [very minor, but sometimes significant] justification for the one hour leniency! (It’s pretty much impossible to program a system that would adjust itself to the user’s DST because DST is a mess that behaves differently in different countries and even within the same country, but the one hour leniency provides a “free pass” that lets the user adjust to any potential clock shift in the user’s time zone.)