I'm creating an app with language learning exercises and would like to measure the users' accuracy. In one of the exercises, the users have to click on several words to rebuild a sentence (like Duolingo).
The words "move up" towards the correct sentence if they are right and appear in red for 1 second if they are wrong.
Let's take for example a sentence consisting of 5 word. So 5 words = 100% accuracy. I want the system to reward the user for right words (+20% each right word) and punish them for wrong words (-20% each wrong word). Let's take this sequence:
User clicks on right word: +20%
User clicks on wrong word: -20%
User clicks on right word: +20%
User clicks on right word: +40%
User clicks on right word: +60%
User clicks on right word: +80%
So, the user has finished the exercise with a 80% of accuracy because they made a mistake.
Now let's say that the user starts a new exercise of another 5-word sentence, BUT now the user will start with a 80% accuracy from the PREVIOUS exercise.
User clicks on right word: ___
(*) When the user clicks on the right word, they should gain +20%, BUT the user is starting at a 80% accuracy level from the PREVIOUS exercise, so what formula should I use to leverage the new result with the previous result?
For example, in the second exercise the maximum the user can get is again 100%. So what if I say 100% + 80% (from the previous exercise) = 180% / 2 = 90%. So the new maximum percentage the user can get in this second exercise is 90%, which divided by 5 equals: 18%.
User clicks on right word: 80% + 18% = 98%
User clicks on right word: 98% + 18% = 116% ???
User clicks on wrong word: 116% - 18% = 98%
User clicks on right word: 98% + 18% = 116% ???
User clicks on right word: 116% + 18% = 134% ???
As you can see this logic is not possible. Can you see my mistake? Do I need a leverage or a moving leverage algorithm?
What I have tried:
I have tried the things explained on top.