I’m looking to improve upon the algorithm I use to score each question on a per-user level. This is used to create personalized Trainings right now. I also want to include weak questions in each Level soon.

Any ideas to improve it?

Here’s a snippet from the GitHub issue description:

This is it right now in pseudocode:

score for each question = 0.5 * number of failed questions / average accuracy + time taken for the question

It’s important to add a ratio of how many times the user has completed / failed the question and how long ago it was last completed.