User Stats
Scope
- Every stat is tracked per user, per course — if a user is on two courses, they have two separate sets of stats
- Live for UPSC only right now
1. User MCQ Stats
- A simple count of how many MCQs the user has attempted in the course
- Total count — all MCQs attempted
- PYQ count — Previous Year Questions attempted
- DQ count — Daily Questions attempted
- EQ count — Extra Questions attempted
- Counts go up every time the user attempts an MCQ — they’re running totals, not a list of each attempt
- Used for:
- Showing progress on the user’s stats (e.g. “240 PYQs attempted”)
2. User Stats
The user’s lifetime star count for a course — the gamification score.
- One running total per user, per course — stored as
global_stars - How stars are earned in a test:
- Earned by getting a run of correct answers in a row inside a Study Mode custom test
- The first 4 correct answers don’t earn anything — stars start from the 5th correct in a row, with a max of 6 stars per streak
- A wrong answer or skip ends the streak, but stars already earned are kept
- Stars from the test are added to the user’s lifetime total when the test is submitted
3. MCQ Attempt History
A record of every MCQ the user has touched, sorted by what happened with it. Acts as the user’s full memory of what they’ve seen and how they did.
- Correct MCQ IDs — MCQs the user got right
- Incorrect MCQ IDs — MCQs the user got wrong
- Skipped MCQ IDs — MCQs the user skipped or didn’t attempt during a test
- MCQ IDs used in test creation — every MCQ that’s ever been shown to the user in a test, whether they answered it or not
- An MCQ sits in the bucket for its most recent outcome — if the user revisits it and changes their answer, it moves
- Used for:
- Avoiding repeats when building a new custom test — we already know what the user has seen
- Smart test creation — leans toward unseen MCQs and brings back ones the user got wrong for revision
4. MCQ Daily Accuracy
A daily record of how much the user practiced and how well they did, split into first attempts and reattempts.
- One record per user, per course, per day
- First attempts — the user seeing an MCQ for the first time
- First-attempt total = correct + wrong + skipped on the first try
- First-attempt correct = how many of those they got right
- Reattempts — the user answering an MCQ they’ve already seen
- Reattempt total = correct + wrong + skipped on revisits
- Reattempt correct = how many of those revisits they got right
- Overall — first attempts + reattempts together, as a single number for the day
- Used for:
- Showing accuracy split between first attempts and reattempts