Estimated Total Knowledge graph over time

This is essentially a duplicate of [Feature request] Estimated Total Knowledge over time by @Expertium but that post is a mess because of dozens of comments and is also closed.

Anki is a learning tool and a user would expect its Stats to show how their total knowledge changed over time. So, this graph seems to be a must-have feature. Such a graph clearly demonstrates the main selling point of Anki, i.e., its ability to continuously increase the user’s total knowledge.

@A_Blokee implemented this in his Search Stats Extended add-on but this must be implemented natively too for the reason I mentioned above.

There are two main problems in implementing this. I hope that we can solve both.

  • The calculation of the ETK over time is slow. For this, we can add a button so that the graph is plotted only when the user wants to see it.
  • If “all history” is not selected, the graph would have to use partial review history, which would make it inaccurate.
5 Likes

Agreed. I originally wanted it to be native.

If you have solutions for the mentioned problems I would be more than happy to implement it natively.

The performance problem can be partially fixed simply by having it implemented in rust. It would run about as fast as the simulator.

3 Likes

I have already proposed a solution for the performance issue.

The same solution can work for the review history issue too. If the user clicks the button to load the graph, the Stats page can load the complete review data for plotting the graph.

3 Likes

As vaibhav said, we can make it so that the user has to click a button, in other words, the chart doesn’t render (and the underlying data isn’t calculated) unless the user explicitly requested it.
And we can make it so that it’s always “all history”, with no “last week” or “last month” options.

2 Likes

On Discord you said that you will work on it. Make sure to link the PR here!

@dae I’d like your thoughts before I would start working on this. Though it is a low priority for me as it:

  • Already exists in addon form.
  • Would be difficult.
  • I’m not positive on exactly what an implementation would look like
2 Likes

I’m not positive on exactly what an implementation would look like

Why not just make it look like in SuperMemo? I mean, not literally, but “Sum of probabilities of recall on the Y axis and date on the X axis”. Unless there are some technical difficulties with that.
And with zooming in, of course.

By “what the implementation would look like” I meant more the finer details of where it would go and how it would operate. A SuperMemo-like graph like you describe would already be the plan.

Ah, my bad.

1 Like