[STATS] Statistics site


喋 isn’t one of Wanikani’s kanji, and there are no official JLPT lists.
The JLPT list I’m using is one of the newest, even though it’s still about 6 or 7 years old. The other most common JLPT list has more kanji on it, but it was derived from the pre-2010 JLPT tests, before N5 was added.


Thanks :slight_smile:


I just came here to report the same issue. I debugged it very briefly and I think it is because we reset our level. The “item.level” at this point is most likely a level that you had reached before your reset (it was in my case at least).

Manually clearing the local storage will fix this. I called user.clear_data() in the browser console and it worked. You just have to re-enter your API key again afterwards.


Interestingly, I fired up my new tablet last night and was able to open it on that, but still can’t on my old tablet nor my PC (both tablets are Android).

My understanding of this is sadly limited, but I’ll give it a go, cheers!


Sorry about that. It is a cache issue, and normally something I’d try to fix on my side… but since the current version of the site will be going away soon, I’m staying focused on getting the new version done.


I tried typing this in and it didn’t work, but then I noticed there was a ‘Clear Cache’ button nearby, clicked on it, and Hey Presto! I have access to the old stats site again - thank you so much. :confetti_ball:

@rfindley - I really appreciate the work you are doing on the new site (especially the personalisation with that funky configurations bit!), so no worries at all about not spending time on the old one. :heart_eyes: I was just missing the projections aspect of the old one is all.


I love the site! I have two quick questions regarding leveling up stats:

  1. What is the difference between “estimated” and “hypothetical”?
  2. What method is used to construct the forecast/estimate?


‘Estimated’ uses your average level length… i.e. the average of all levels that aren’t excluded by clicking on them in the Level Duration graph.

‘Hypothetical’ uses the level length that you enter into the “Enter a hypothetical level-up speed” box.

So, each forecasted levelup adds the average or hypothetical level length to the prior level date. But, obviously, it won’t allow the resulting date to be sooner than the fastest you can possibly level up… like if you’ve been on your current level longer than average already.


Thanks for the quick reply!


Hi Rfindley, I’m an academic (economics) and I’m interested in finding a better estimate than the average for the progress. If you are also interested in this please feel free to reach me (my username here at email.unc.edu).


What did you have in mind?


The basic idea is that not all levels were created equal: higher levels might be harder; levels with more kanji might be harder; etc… If one has access to aggregate data then it would be possible to estimate the level completion time (level “difficulty”) and so the individual completion estimate would depend on the individual past performance (as it is now) but also on the level estimated “difficulty”.


Levels with more kanji can potentially be finished quicker because to level up you need 90% of kanji in guru. If you get 30 new kanji per level, you only get to leave 3 kanji in apprentice to level up, but if you get 40 new kanji, you can get away with leaving 4 kanji in apprentice and still level up.


I haven’t attempted to quantify a correlation between [difficulty] and [level length] yet, but I suspect that the relationship is more complex and subtle than you might guess.

For example, the ‘gotta go fast’ group tends to have consistent level-up regardless of theoretical difficulty. And, andectodally, the most common reason I’ve seen cited for long levels is life-based diversions, rather than specific levels being particularly difficult.

I’m not trying to discourage your line of thinking, though. I’m guessing it will be a lot of work, and I could eventually supply you with some anonymized data if you’d like… though I’d have to collect up a lot more APIv2 keys before I can get a useful amount of data. I don’t currently retain any progress data. That’s all kept in the user’s browser.

[Edit]: Another thing to think about. Even with just the [average] that I currently use, it needs a way to gracefully fall back to a reasonable projection if the user exceeds their average. For example, do you treat user’s progress as a linear progression through the level, and just project how soon they’ll reach 90% Guru? But then what do you do if it looks like the user simply stopped somewhere in the level?

Similarly, you’d need to define when/if the user’s past performance fits your model for difficulty, and decide how much weight to put on that model if the user’s performance is a poor fit. For example, someone with seemingly random level lengths (maybe due to unpredictable schedule), with no apparent correlation to your difficulty model… then what fallback do you use to project?

Again, not trying to discourage. As a software developer, it’s ingrained into me to think ahead about the problems I’ll encounter before I get started on something.


This is amazing! Great work!

My immediate thought after looking at it was to look if I could share the pages somehow, IE with my Japanese teacher. Tho I suppose I could just give them the page and api key.


You do have to give them the API key, but you can put it directly in the URL for convenience. For example:


Is this site currently broken or is something wrong with my account? It keeps telling me my API key is not found. I tried relogging and generating a new key but I just keep getting the same error even with the new keys.


Try opening your Javascript console (on most browsers, press F12 and click the Console tab), paste the following command, and press enter:


Then refresh the page, and enter your API version1 key.

[edit: The last apikey that I have in my log for your username ends in 9666. I tried that key, and Wanikani is giving me an “Unauthorized” error, so I’m guessing that’s not your latest key. It’s probably just a cache issue, which has happened before. Clearing the cache with the command above usually solves it.]

[edit2: Also, in the meantime, you can try out the completed portions of the upcoming version of the site at https://wkstats.com:10001/)


Woo it looks amazing! Keep up the good work, kind person from the internets!


So every time I try to access the new website, it times out and I get the “Could not be accessed” error message. Any ideas on how I can get it to work?