Owner Nikunj

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