I made it for myself, but it’s probably useful/interesting enough to show you people so I tidied it up a bit and put it online.
Put your WK V2 API key in, hit the button, wait a bit while it drags all the data down, then you can filter and sort your problem kanji.
May cause extreme negative feelings towards certain kanji and vocabulary items
Only tested (minimally) in desktop Chrome and FF
Internet Explorer won’t work
Might well crash your phone/tablet if you try it
Doesn’t understand resets
Does probably take a very long time to load data if you’re an experienced WKer
Only graphs stuff you’ve got wrong at least once
Caches subject/review data in local storage to avoid hammering the API excessively. If you want a full refresh, hit the submit button again.
May encounter problems when faced with high level users, particularly people who’ve done L60 -> reset -> L60! I’d be interested to see how it performs in those circumstances, perhaps send me your API key?
Almost certainly has bugs which may not ever be fixed
All plain JS, no obfuscation/minification, do whatever you want with it
So, I have a question regarding the “lost days” data point. What exactly does that mean, and how is it calculated? Is it how many days earlier than now I could be my current level? Or is it how many days earlier said item could have been burned? As is, I’m not really grasping what exactly that information is supposed to be telling me.
But even still, I really like what you’ve done here! It’s pretty cool to be able to go back in time and think “God I remember that piece of garbage word, man I hated that” while being able to also realize how effective the SRS system is with said items, because I don’t struggle to read or understand said words anymore at all! Great work!
Edit: Upon closer inspection, I actually understand “time lost” less than I thought, because I’ve got some items that I literally learned this morning saying “time lost: 164 days”?
Sooo… It sounds like there may be a bug or two here and it’s not exactly scientific to begin with but the idea is that when an item is demoted you have “lost” a number of days equal to the amount of time it would take you to bring that item back to the level it was just at. A4->G1 takes 2 days, thus if you fail a G1 review 2 days are added to that item’s “lost days”. Failing at M seems to take you all the way back to G1, so that’s 2 weeks + 4 days = 18 days “lost”. It’s just a way to rank how annoyingly persistent these things are, really!
(Thanks for the kind words, also)
Edit: I did find a classic off-by-one error in the code that calcuates “days lost” - should be closer to reality now.
Not sure if it is already done this way, but are you perhaps scaling the thickness of the lines linearly with the amount of lost days? You could also try to do this logarithmically, such that an increase from 50 to 100 adds as much thickness as an increase from 100 to 200, or 200 to 400. This makes the extra thickness from 50 to 400 an extra 3 units of thickness rather than having it be 8 times thicker.
Or maybe maximize the thickest possible line and connect that thickness to the highest amount of lost days.
Just a little example I put too much time in.
If you assume 1 day means that the line is one pixel thick, then the blue part resembles the relative thickness in pixels for a linear relation, the red part is for a logarithmic relation.