Skip to content

EMRS Bhopal Grade 12: every test answer, student by student

Avanti Fellows, built 2 November 2026. Shared for research only. Please do not redistribute.

Avanti runs a Centre of Excellence at the Eklavya Model Residential School (EMRS) in Bhopal, a government residential school for tribal students. This folder holds every answer that its current Grade 12 class gave on Avanti’s tests, from the start of Grade 11 in August 2025 to 29 October 2026. Each student is under a random study ID. It also holds each student’s score on every test, and the full text, options, answer key, worked solution and figures of every question that came from Avanti’s current question bank.

If you are using Claude or another AI assistant, give it this whole folder and start it on this README. Everything it needs to read the files is written here.

Students 70 in Grade 12: 53 preparing for JEE (engineering), 17 for NEET (medical)
Tests 61, from 23 August 2025 to 29 October 2026: chapter tests, part tests, major (mock) tests and full-syllabus tests
Answers 115,795 question-student rows, of which 50,304 were answered and the rest skipped
Questions 3,970 in all. 1,945 come with full text (new question bank); 2,025 have answers but no text (old question bank, see below)
Subjects Physics, Chemistry and Maths for everyone; Biology for the NEET students
Figures 845 image files, in 492 questions

Old and new question banks. Avanti moved to a new question bank during 2026. Most Grade 11 tests (August 2025 to April 2026) and a few early Grade 12 tests used the old one. We hold the answers to those questions but not their text, so they appear in responses.csv and items.csv with question_bank = old and has_question_text = 0. They still count towards each student’s test scores and can be used to measure ability over time. Every question in the new bank comes with its full content.

File One row per What it is
questions_physics.md, questions_chemistry.md, questions_maths.md, questions_biology.md question The new-bank questions in readable form, grouped by chapter: text, options with letters, key, the answer split, the solution and figures
questions.jsonl question The same content as JSON lines: item_id, subject, chapter, topic, question_type, text, options, key, key_matches_cms_today, solution, images
items.csv question Statistics per question, for all 3,970 (below)
responses.csv student × test × question Every answer (below)
test_scores.csv student × test × section Each student’s marks and percentage on every test, overall and by subject
images/ figure Files named q<item_id>_<n>, referenced from the question files

Text is plain markdown with mathematics in LaTeX between \( and \). A figure appears where it sits in the question as ![figure](images/q2148_1.jpg). Some options are figures themselves.

Column Meaning
study_id A random ID for the student, made for this dataset (B and six digits). It carries no information, and the same student keeps the same ID throughout. Avanti holds the only key back to the student
stream Engineering (JEE) or Medical (NEET)
test_id, test_name, test_date The test. The name carries Avanti’s own code, e.g. AIAT-04 for the fourth major test
test_type, test_format chapter_test, part_test, major_test (a full-length JEE or NEET mock) or full_syllabus_test
test_grade The grade whose syllabus the test covers. Grade 11 tests sat in Grade 12 are revision
subject, chapter, topic Where the question sits in the syllabus. topic is often blank for old-bank questions
item_id The question. New-bank IDs are numbers and join to questions.jsonl; old-bank IDs start with old-
question_bank, has_question_text new or old, and whether the text is in this folder
question_type single-choice, multi-choice, numerical-integer or numerical-float
position_in_test Where the question appeared in the paper
response What the student answered: a letter (or letters) for MCQs, the number entered for numericals. Blank if skipped
key The answer they were marked against
answered 1 answered, 0 skipped
correct 1 right, 0 wrong, blank if skipped
marks, marks_if_right, marks_if_wrong Marks earned, and the scheme: +4 for right and −1 for wrong throughout, as in JEE Main and NEET
time_spent_s Seconds the student spent on the question, from the test engine
student_test_percentage The student’s overall percentage on that test
Column Meaning
item_id, question_bank, has_question_text As above
subject, chapter, topic, question_type As above
key The answer students were marked against
cms_answer, key_matches_cms_today The answer in the new bank today, and whether it agrees. For a numerical answer stored as a range (e.g. 0.45,0.55), whether the key falls inside it
n_shown, n_answered, skip_rate How often the question was reached, answered and skipped
p_correct Share of answers that were right, among those answered
discrimination_r Correlation between getting this question right and the student’s percentage on the whole test. Blank when fewer than 30 answered
median_time_s Median seconds spent, among those who answered
n_students, n_tests Distinct students and tests
choice_counts How the answers split, most common first
has_figure 1 if the question, an option or the solution has a figure

study_id, stream, test_id, test_name, test_date, section (overall, or a subject), marks_scored, max_marks, percentage.

  • This is one class, so per-question numbers are small. No question reached more than 53 of these students, and the typical one reached 17. Use items.csv to see what this class found hard, not to fix a question’s difficulty. For difficulty across many students, see the companion dataset Motion in Two Dimension, built from 1,914 students.
  • Skipping is a choice. With −1 for a wrong answer, skipping a question you are unsure of is often the right move. So p_correct is accuracy among those confident enough to answer, and skip_rate matters in its own right. For an item response model, treat a skip as missing, not as wrong.
  • Options never shuffle within a question, so the answer split shows how many students held each wrong idea. Question order within a test may be shuffled.
  • Two questions had their options edited after the test. For items 3446 and 14873 the key students were marked against differs from the bank today, and almost all who answered chose the old key. The option text shown for them today may not be what students saw.
  • Multiple-answer questions are marked right only when the student picks exactly the right set.
  • Scores are comparable within a test, not across tests. Tests differ in length and difficulty.
  • The tests were sat on site and supervised. EMRS Bhopal is residential, and Avanti’s tests there are proctored.
  1. Where did each student lose marks? Group responses.csv by study_id and chapter, separating wrong answers (which cost marks) from skips.
  2. Which wrong answers did the class share? In items.csv, a new-bank question where many students chose the same wrong option points to a shared misconception. Read the question in its subject file and name the wrong idea.
  3. How did each student change over the year? test_scores.csv traces each student from Grade 11 to now. Compare like tests: major tests with major tests.
  4. Could an AI tutor have named the misconception? For a shared wrong answer, ask a model what the student was thinking. Then check its answer against how the same students did on related questions.

A first prompt for Claude:

Read README.md, then items.csv and questions_physics.md. Find the ten new-bank Physics questions where the most common answer was a wrong one. For each, state in one sentence the misconception behind that answer, and point to another question in the dataset that tests the same idea.

  • No personal data. No names, contact details, dates of birth, gender, category or Avanti student IDs. The study IDs are random.
  • This is a small, identifiable group: one class in one named school. Please do not try to re-identify any student, do not combine this data with other data to do so, and do not report results for groups smaller than five students.
  • Shared for this research collaboration only. Please do not publish the student-level rows. Aggregates and question-level findings are fine to publish, with a mention of Avanti Fellows.
  • Questions: contact Avanti Fellows (Akshay Saxena).

build.py beside this README, in Avanti’s data-assistant repository at analysis/ai-coach/datasets/emrs_bhopal/. It shares its question-bank reader with ../motion_2d/build.py.

  • Answers: Avanti’s warehouse table fact_student_test_results_question_level, academic year 2026-27, programme EMRS CoE, school EMRS Bhopal, student grade 12. That year’s rows carry each student’s full test history, which is why tests from Grade 11 appear.
  • Test scores: fact_student_test_results_overall, every section, for the same tests.
  • Question text, options, solutions and figures: Avanti’s new question bank, English versions, read on 2 November 2026. Figures are stored there as embedded images and were written out as files.
  • Study IDs: random. The key from study ID to student is kept privately at Avanti and is not part of this folder.