CAT and MBA Entrance Preparation Module 7 – Test strategy: sectional timing as a method
Analysing a practice paper: the repair loop
Analyse a practice paper question by question: outcome, minutes and cause, the time sinks and easy questions lost, then a repair plan for the next week.
What you will learn
- Classify every question of a practice paper by outcome, time and cause
- Find time sinks and missed easy questions from the analysis
- Build a repair plan for the next week from the analysis
Before you start
What you’ll learn · Before you start
What you will learn
- Classify every question of a practice paper by outcome, time and cause
- Find time sinks and missed easy questions from the analysis
- Build a repair plan for the next week from the analysis
Before you start
On this page
Kavya scored 43 on a practice paper. The number cannot tell her that four questions took more than twice their plan, 20.5 minutes over it in all, or that six questions she had marked sure at the scan scored nothing. A question-by-question analysis can, and it turns the paper into next week’s work.
This lesson keeps an attempt log of her invented practice paper, classifies every question by outcome, minutes and cause, pulls out the two lists that matter most, and builds a repair plan with a program you can run on your own paper. The score comes last, because by then it explains itself.
Classify every question before you look at the score
A score adds up everything at once: answers that were never in doubt, slips, guesses and the questions the clock took away. Two papers with the same score can need opposite repairs, so the analysis starts from the questions. An attempt log: A record of every question of one practice paper, right ones included: its section, kind, the scan's mark, the minutes it took, its outcome and, for a question that scored nothing, the cause and the lesson that fixes it. holds one row for every question of the paper, right ones included, because a right answer that took more than twice its plan can cost as much as a wrong one.
Each row records the section, the kind (MCQ or typed), the scan’s mark from the section plan (sure, maybe or leave), the minutes the question took, and one of five outcomes:
| Outcome | What it means | Cause recorded? |
|---|---|---|
| Right | Answered and scored | No |
| Wrong | Answered, scored 0 or −1 | Yes |
| Left | Started, then left at its cut-off | Yes |
| Not reached | Never opened before the section closed | Yes |
| Skipped by plan | Marked leave at the scan and left, as planned | No |
Every question lost, that is wrong, left or not reached, gets the first cause whose fix would have saved it, from the five of the diagnostic lesson: concept, method, reading, calculation or time, with the lesson that teaches the fix. A question that was not reached has time as its cause, and its lesson is the one that would have protected its minutes. Follow the whole loop on Kavya’s paper, from the log to the next paper:
The drawing shows the whole scene; its 8 steps are listed below.
Every step as text
- A log, not a score. After the paper, Kavya writes one row for each of its 36 questions, right ones included, with its section, its kind, the scan's mark, the minutes it took and how it ended. The score waits until the end.
- Every row classified. Each row gets one of five outcomes, right, wrong, left at the cut-off, not reached or skipped by plan, and every question lost, wrong, left or not reached, gets one cause and the lesson that fixes it.
- Easy questions lost. The first list holds the questions she marked sure at the scan but did not score: six of them, two wrong by calculation, one by reading and three never reached.
- Time sinks. The second list holds the questions that took more than twice their planned minutes. There are four, 20.5 minutes over plan between them, and one of them, QA question 3, was right.
- The repair plan. The plan names the lessons that fix the most rows, choosing DILR sets first, the 17 questions to solve again and one change to the section plan: leave each DILR set at its leave point.
- Re-attempts, days later. Three days after the paper, on day 4, she solves each lost question from the question alone, before reading any solution. A right answer takes the question off the list.
- Wrong again. A question that is wrong again goes back to its lesson and gets a new re-attempt day. That small loop runs inside the big one until the question comes out right.
- The next paper. The next paper tests the change. If DILR's minutes over plan fall and the questions after a slow set are reached and scored, the repair worked; either way its log starts the next loop.
The loop works on any practice paper, an official mock included: the CAT 2026 FAQs offer a mock test on the CAT website to show the pattern of the examination and its types of question, and its questions can be logged and analysed the same way.
Logging only the wrong answers
A log of wrong answers misses two of the costliest rows on Kavya’s paper: QA question 3, which was right but took 6.5 minutes of a planned 3, and the DILR questions that were never reached. Log every question, then decide.
Checkpoint
Check: Classifying every question of a paper
Two lists: easy questions lost, and time sinks
Most of what a paper can teach sits in two lists. The first is every question the scan marked sure that scored nothing: an easy question lost: A question marked sure at the scan that scored nothing: answered wrongly, left, or never reached before the section closed.. The second is every time sink: A question that took more than twice the minutes its plan gave it, whether it ended right or wrong. Its extra minutes came out of the questions after it., a question that took more than twice the minutes its plan gave it, whether it ended right or wrong. The program reads Kavya’s log, prints the outcomes of each section, the two lists and a repair plan, and keeps the score for the end:
analysis/analysis.py
"""A practice paper analysed question by question: outcomes, the two lists, a repair plan, and the score last.
It reads attempt_log.py. Put your own paper's rows there, in the same shape, and run it again.
"""
from collections import Counter
from fractions import Fraction
from attempt_log import LOG, PLANNED
RATE = Fraction(1, 2) # marks a minute her second pass earns, from the practice log of the section plan lesson
GAP_DAYS = 3 # re-attempt each lost question this many days after the paper, from the question alone
SECTIONS = ("VARC", "DILR", "QA")
rows = [dict(zip(("sec", "n", "kind", "mark", "min", "out", "cause", "lesson"), r)) for r in LOG]
for r in rows:
r["min"] = Fraction(str(r["min"]))
r["plan"] = Fraction(str(PLANNED[r["sec"]][r["mark"]]))
if r["out"] in "WLN" and not (r["cause"] and r["lesson"]):
raise ValueError(f"{r['sec']} Q{r['n']}: every question not scored needs a cause and a lesson")
print("1. Outcomes, before any score")
print(" section right wrong left not reached skipped by plan minutes")
for sec in SECTIONS:
c = Counter(r["out"] for r in rows if r["sec"] == sec)
used = sum(r["min"] for r in rows if r["sec"] == sec)
print(f" {sec:<7} {c['R']:>6} {c['W']:>6} {c['L']:>5} {c['N']:>12} {c['S']:>16} {float(used):>8.1f}")
easy = [r for r in rows if r["mark"] == "sure" and r["out"] in "WLN"]
print(f"\n2. Easy questions lost: marked sure at the scan, not scored ({len(easy)})")
for r in easy:
what = {"W": "wrong", "L": "left", "N": "not reached"}[r["out"]]
print(f" {r['sec']} Q{r['n']:<3} {what:<12} {r['cause']:<12} {r['lesson']}")
sinks = [r for r in rows if r["plan"] and r["min"] > 2 * r["plan"]]
over = sum(r["min"] - r["plan"] for r in sinks)
print(f"\n3. Time sinks: more than twice the planned minutes ({len(sinks)})")
for r in sinks:
what = {"R": "right", "W": "wrong", "L": "left"}[r["out"]]
print(f" {r['sec']} Q{r['n']:<3} {float(r['min']):>4.1f} min of {float(r['plan']):.1f} planned, {what}")
print(f" Minutes over plan: {float(over):.1f}, worth about {float(over * RATE):.1f} marks at {float(RATE)} a minute")
print("\n4. Repair plan for next week")
lost = [r for r in rows if r["out"] in "WLN"]
lessons = Counter(r["lesson"] for r in lost)
minutes = Counter()
for r in lost:
minutes[r["lesson"]] += r["min"]
print(" Lessons to revisit (rows, minutes they took):")
for lesson, n in sorted(lessons.items(), key=lambda kv: (-kv[1], -minutes[kv[0]], kv[0]))[:3]:
print(f" {lesson}: {n} rows, {float(minutes[lesson]):.1f} min")
print(f" Re-attempt on day {1 + GAP_DAYS}, from the question alone: {len(lost)} questions")
overrun = {s: sum((r["min"] - r["plan"] for r in sinks if r["sec"] == s), Fraction(0)) for s in SECTIONS}
worst = max(SECTIONS, key=lambda s: overrun[s])
rule = "leave each set at its leave point" if worst == "DILR" else "leave each question at its cut-off"
print(f" One change to the plan: in {worst}, {rule}; its time sinks ran {float(overrun[worst]):.1f} minutes over plan")
print("\n5. The score, last")
total = 0
for sec in SECTIONS:
marks = sum(3 if r["out"] == "R" else -1 if (r["out"] == "W" and r["kind"] == "MCQ") else 0
for r in rows if r["sec"] == sec)
total += marks
print(f" {sec}: {marks}")
print(f" Total: {total}") Output
1. Outcomes, before any score
section right wrong left not reached skipped by plan minutes
VARC 6 4 0 2 0 37.3
DILR 4 2 1 4 1 33.0
QA 7 4 0 0 1 33.0
2. Easy questions lost: marked sure at the scan, not scored (6)
VARC Q7 wrong reading rc-question-types-and-elimination
VARC Q11 not reached time sectional-time-plans
DILR Q9 not reached time choosing-dilr-sets
DILR Q10 not reached time choosing-dilr-sets
QA Q4 wrong calculation percentages-and-ratios-for-cat
QA Q7 wrong calculation tita-questions
3. Time sinks: more than twice the planned minutes (4)
VARC Q9 9.5 min of 3.0 planned, wrong
DILR Q5 10.0 min of 3.5 planned, wrong
DILR Q6 7.5 min of 3.5 planned, wrong
QA Q3 6.5 min of 3.0 planned, right
Minutes over plan: 20.5, worth about 10.2 marks at 0.5 a minute
4. Repair plan for next week
Lessons to revisit (rows, minutes they took):
choosing-dilr-sets: 5 rows, 4.5 min
rc-question-types-and-elimination: 3 rows, 11.0 min
di-sets-with-missing-data: 2 rows, 17.5 min
Re-attempt on day 4, from the question alone: 17 questions
One change to the plan: in DILR, leave each set at its leave point; its time sinks ran 10.5 minutes over plan
5. The score, last
VARC: 15
DILR: 10
QA: 18
Total: 43
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 analysis.py
analysis/attempt_log.py
"""Kavya's attempt log of one invented practice paper, 12 questions a section, sat on her own clock.
One row per question: section, number, kind, the scan's mark (sure, maybe or leave), the minutes it took (a DILR
set's decoding minutes are shared by its questions), the outcome and, for every question that was not scored, the
cause and the lesson that fixes it.
Outcomes: R right, W wrong, L left at the cut-off, N not reached, S skipped by plan (marked leave).
Causes: concept, method, reading, calculation, time.
"""
# Minutes a question in her section plan. A passage's reading and a set's decoding are shared by its questions, so
# VARC and DILR plan more minutes a question than QA.
PLANNED = {
"VARC": {"sure": 2.0, "maybe": 3.0, "leave": 0.0},
"DILR": {"sure": 2.5, "maybe": 3.5, "leave": 0.0},
"QA": {"sure": 1.5, "maybe": 3.0, "leave": 0.0},
}
LOG = [
# VARC: two passages (Q1-Q8) and four verbal questions
("VARC", 1, "MCQ", "sure", 3.0, "R", "", ""),
("VARC", 2, "MCQ", "sure", 2.5, "R", "", ""),
("VARC", 3, "MCQ", "maybe", 3.5, "W", "reading", "rc-question-types-and-elimination"),
("VARC", 4, "MCQ", "sure", 2.0, "R", "", ""),
("VARC", 5, "MCQ", "maybe", 4.0, "R", "", ""),
("VARC", 6, "MCQ", "maybe", 5.0, "W", "method", "rc-question-types-and-elimination"),
("VARC", 7, "MCQ", "sure", 2.5, "W", "reading", "rc-question-types-and-elimination"),
("VARC", 8, "MCQ", "maybe", 3.5, "R", "", ""),
("VARC", 9, "typed", "maybe", 9.5, "W", "method", "para-jumbles-without-options"),
("VARC", 10, "typed", "sure", 1.8, "R", "", ""),
("VARC", 11, "MCQ", "sure", 0.0, "N", "time", "sectional-time-plans"),
("VARC", 12, "MCQ", "maybe", 0.0, "N", "time", "sectional-time-plans"),
# DILR: three sets of four questions
("DILR", 1, "MCQ", "sure", 3.5, "R", "", ""),
("DILR", 2, "MCQ", "sure", 2.5, "R", "", ""),
("DILR", 3, "typed", "sure", 2.0, "R", "", ""),
("DILR", 4, "MCQ", "maybe", 3.0, "R", "", ""),
("DILR", 5, "MCQ", "maybe", 10.0, "W", "method", "di-sets-with-missing-data"),
("DILR", 6, "MCQ", "maybe", 7.5, "W", "method", "di-sets-with-missing-data"),
("DILR", 7, "typed", "maybe", 4.5, "L", "time", "choosing-dilr-sets"),
("DILR", 8, "MCQ", "maybe", 0.0, "N", "time", "choosing-dilr-sets"),
("DILR", 9, "MCQ", "sure", 0.0, "N", "time", "choosing-dilr-sets"),
("DILR", 10, "typed", "sure", 0.0, "N", "time", "choosing-dilr-sets"),
("DILR", 11, "MCQ", "maybe", 0.0, "N", "time", "choosing-dilr-sets"),
("DILR", 12, "MCQ", "leave", 0.0, "S", "", ""),
# QA: twelve questions
("QA", 1, "MCQ", "sure", 1.2, "R", "", ""),
("QA", 2, "MCQ", "sure", 1.6, "R", "", ""),
("QA", 3, "MCQ", "maybe", 6.5, "R", "", ""),
("QA", 4, "MCQ", "sure", 1.4, "W", "calculation", "percentages-and-ratios-for-cat"),
("QA", 5, "typed", "maybe", 3.0, "R", "", ""),
("QA", 6, "MCQ", "maybe", 2.8, "R", "", ""),
("QA", 7, "typed", "sure", 2.0, "W", "calculation", "tita-questions"),
("QA", 8, "MCQ", "maybe", 4.5, "W", "concept", "remainders-and-modular-arithmetic"),
("QA", 9, "MCQ", "leave", 0.0, "S", "", ""),
("QA", 10, "MCQ", "maybe", 3.0, "R", "", ""),
("QA", 11, "typed", "sure", 1.5, "R", "", ""),
("QA", 12, "MCQ", "maybe", 5.5, "W", "method", "time-and-work-for-cat"),
] Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
Six easy questions were lost. Three were answered wrong, two by calculation in QA and one by reading in VARC, and three were never reached: VARC question 11 and DILR questions 9 and 10. The never-reached ones are not three separate problems. The time-sink list shows where their minutes went: DILR questions 5 and 6, in the same set, took 17.5 minutes against 7 planned, and the set after them, which held two sure questions, never opened.
The four time sinks ran 20.5 minutes over plan. At the 0.5 marks a minute that Kavya’s second pass earns, those minutes would have bought about 10 marks elsewhere. And one of the four, QA question 3, was right: a log that recorded only mistakes would never have shown it.
Key idea
Read a paper through two lists before its score: the questions marked sure that scored nothing, and the questions that took more than twice their plan, right or wrong.
Checkpoint
Check: Easy questions lost and time sinks
A repair plan for the next week
An analysis is finished when it has changed next week. Kavya’s program turns her two lists into a repair plan: The week's work an analysis sets: the lessons to revisit, the questions to solve again after a gap from the question alone, and one change to the section plan for the next paper to test. with three parts:
- The lessons to revisit, ranked by the rows each would fix: choosing DILR sets first, for five rows lost to set B’s overrun, then question types and elimination in reading comprehension, three rows, and DILR sets with missing data, two rows that took 17.5 minutes.
- The questions to solve again, all 17 questions lost, on day 4, three days after the paper, from the question alone and before reading any solution.
- One change to the section plan, aimed at the biggest time sink: in DILR, leave each set at its leave point: The minute, fixed before a set is started, at which you leave it if its grid is still open, keeping any answer the open grid already decides: its planned decoding time plus a small margin. More in “Choosing DILR sets: scan, pick and leave”, since DILR’s sinks ran 10.5 minutes over plan.
The re-attempts are tests, not rereading, for a reason. In Roediger and Karpicke’s experiments with prose passages, being tested on a passage beat studying it again on the final tests given two days and a week later, while studying again won only when the final test came five minutes later. Dunlosky and colleagues rated practice testing among the most useful study techniques and rereading among the least. A solution read straight after the paper feels like learning, and is the weaker choice.
Not affiliated
MySmartCoPilot has no tie to the IIMs or to their mock test. Kavya’s paper and its log are invented for this lesson, and the two studies are named so that you can read them yourself.
One change, not five, so that the next paper can show whether it worked. A week built from the plan:
| Day | Work |
|---|---|
| 1 | The paper, its attempt log and the two lists |
| 2 and 3 | The three lessons, each with fresh questions of its kind |
| 4 | The 17 re-attempts, from the questions alone; wrong ones go back to their lesson |
| 5 and 6 | Practice sections with the one change: leave points in DILR |
| 7 | Rest, or the next paper if the plan has one this week |
Checkpoint
Check: A repair plan for the next week
Practise: analyse a paper
Ten untimed questions on classifying, the two lists and the repair plan, some on a new candidate’s log. Your weakest part comes first:
Practice that adapts to you
Practise this lesson
10 questions about 3 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.
Interview questions
Warm-up: why is the score the last thing to look at when you analyse a practice paper?
Because a score adds everything together and hides why marks were lost. Two candidates with the same score can need opposite repairs: one lost marks to slips on questions she was sure of, the other to a few questions that took far longer than planned and cost him the questions after them. So the analysis starts with every question: its outcome, the minutes it took and, for each one lost, the cause and the lesson that fixes it. From those rows come the two lists that matter most, the easy questions lost and the time sinks, and from the lists a repair plan for the next week. Read at the end, the score explains itself; read first, it tempts you to judge the paper instead of fixing it.
Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.
-
Fresher to mid
Two candidates both score 45 on a practice paper. A lost six MCQs she had marked sure, all wrong by calculation or reading, and had no time sinks. B lost none he had marked sure, but three time sinks cost him 14 minutes over plan. Build each one's repair plan for the next week.
-
Fresher to mid
Your last two practice papers show the same time sink: a DILR set kept 9 and then 11 minutes past its plan, with the next set never reached. What change do you make to your plan, and how will the next paper show whether it worked?
Flashcards · 6 cards
Recall it, then check
Say the answer to yourself before you look: recalling it is what makes it stick.
-
What does an attempt log record for each question of a practice paper?
Every question, right ones included: section, kind (MCQ or typed), the scan's mark, minutes taken and outcome, and for each question lost, its cause and the lesson that fixes it.
-
What are the five outcomes a question can have in an attempt log?
Right; wrong; left (started, then left at its cut-off); not reached (never opened before the section closed); and skipped by plan (marked leave at the scan and left).
-
Which two lists hold most of what a practice paper can teach?
Easy questions lost (marked sure at the scan, scoring nothing) and time sinks (questions that took more than twice their planned minutes, right or wrong). Kavya's paper had six and four.
-
What usually causes questions that were never reached?
A time sink earlier in the same section. Two DILR questions of one set took 17.5 minutes against 7 planned, and the next set, with two sure questions, never opened.
-
What three parts make a repair plan?
The lessons to revisit, ranked by the rows each would fix; the questions to solve again three days later from the question alone; and one change to the section plan, so the next paper can test it.
-
Why read a practice paper's score last?
A score adds everything together and hides why marks were lost; two equal scores can need opposite repairs. Read after the two lists, it explains itself.
Key takeaways
- An attempt log has one row for every question, right ones included, with its scan mark, minutes, outcome and, for each question lost, a cause and the lesson that fixes it.
- Two lists hold most of what a paper can teach: easy questions lost, six on Kavya’s paper, and time sinks, four that ran 20.5 minutes over plan, one of them a right answer.
- Questions that were never reached are usually the cost of a time sink earlier in the section, as DILR’s set B cost the set after it.
- A repair plan names the lessons to revisit, the questions to solve again three days later from the question alone, and one change to the section plan that the next paper can test.
Terms in this lesson
- attempt log
- A record of every question of one practice paper, right ones included: its section, kind, the scan's mark, the minutes it took, its outcome and, for a question that scored nothing, the cause and the lesson that fixes it.
- easy question lost
- A question marked sure at the scan that scored nothing: answered wrongly, left, or never reached before the section closed.
- repair plan
- The week's work an analysis sets: the lessons to revisit, the questions to solve again after a gap from the question alone, and one change to the section plan for the next paper to test.
- time sink
- A question that took more than twice the minutes its plan gave it, whether it ended right or wrong. Its extra minutes came out of the questions after it.
References
- CAT 2026 FAQs (Indian Institutes of Management (CAT 2026, conducted by IIM Indore))
- Test-enhanced learning: taking memory tests improves long-term retention (Roediger and Karpicke) (Psychological Science (PubMed record))
- Improving students' learning with effective learning techniques (Dunlosky, Rawson, Marsh, Nathan and Willingham) (Psychological Science in the Public Interest (PubMed record))
Related tools
Report a problem with this lesson
Kept only in this browser. Your Learn progress