This article outlines the concepts & methods of deciding the number of points a participant receives when answering a quiz question & how the quiz scores are calculated in general.
Core
concepts/decisions
Bonus points
Per quiz any participants can receive a maximum of 499 bonus points. Why 499? The current allowed points for a quiz question are 500/1000. To retain the core concept of awarding person with the most correct answers the highest number of points, this needs to be less than the minimum received points per question.
This value is currently hardcoded, if we were to base this on the average points per quiz, the situation could occur that the fastest voter could gain more points than the person with the most questions correct (timing example given below).
There are two types of bonus points: Points for answering quickly and points for answering multiple questions correct in a row. The maximum amount of bonus points per quiz are split into half, rounded up. However, since streaks don't activate untill the second correct answered question, the actual value is relevant to the amount of questions.
Streak bonus points
A participant has a streak if they’ve answered at least two questions correct in a row. The higher a streak, the more points the participant will receive. After 5 correct answers the participant won’t receive any more points for having more answers correct in a row, they will just receive the maximum amount of streak points awarded per question. The exact amount of points for having a streak is dependant on the amount of questions. An example of how many streak points are awarded is followed:
A quiz has 10 questions, the maximum amount of bonus streak points is (maxQuizStreakPoints / quizQuestionCount) = 25 . Since we increment this amount based on how many answers are correct (up to a maximum of 5), this number is divided by 5 and multiplied by the amount of streaks. Here’s an example:
A participant has 6 answers correct in a row:
They would receive (5 + 10 + 15 + 20 + 25 + 25) = 100 bonus points.
After a participant answers an answer incorrectly, they lose their streak untill they have two or more correct answers in a row again.
Timing bonus points
Similarly as the streak points, the amount of bonus timing points a participant can receive is relevant to the amount of questions.
Following the same example as above, incase a quiz has 10 questions, the maximum amount of bonus timing points awarded per question is between 0 and (maxQuizTimingPoints/ quizQuestionCount) = 25.
Following is an example of an edge case where the person with the most amount of correct answers will always gain more points than a participant who voted faster.
Participant A has 10/10 questions correct, but voted at the last possible second for every question
Participant B has 9/10 questions correct,
but voted instantly as the vote opened, gaining the maximum amount of bonus
timing points for every question.
Participant A will receive 5250 points for answering every answer correct and having a streak of 10.
Participant B will receive 4950 points for answering all but one questions correct and receives bonus points for timing and having a streak of 9.
Because of the imposed limit, it’s impossible for a participant with a fast reaction time to gain more points than a slower participant with more answers corrects.