CAT and MBA Entrance Preparation Module 10 – Admissions: written tests, group discussions and interviews
How IIMs shortlist after CAT: composite scores
How IIM Ahmedabad, Bangalore and Calcutta turn CAT scores, school and degree marks, work experience and gender into a shortlist, with each formula worked.
What you will learn
- Compute a composite score with a published IIM formula for a sample profile
- Compare how three IIMs weigh CAT, academic marks and work experience in their shortlists
- Read published minimum percentiles and explain why they are not shortlist cut-offs
- List the figures of the applicant pool that each formula needs and no candidate can know
Before you start
What you’ll learn · Before you start
What you will learn
- Compute a composite score with a published IIM formula for a sample profile
- Compare how three IIMs weigh CAT, academic marks and work experience in their shortlists
- Read published minimum percentiles and explain why they are not shortlist cut-offs
- List the figures of the applicant pool that each formula needs and no candidate can know
Before you start
On this page
A 98.5 percentile does not decide an IIM interview call on its own. For the 2027–29 batch, IIM Ahmedabad gives CAT 65 % of its shortlisting score, IIM Bangalore 55 of 100 points and IIM Calcutta 56 of 85, and each fills the rest from your school and degree marks, your work experience and gender diversity, in its own way.
This lesson works the three published formulas on one invented profile, so you can compute a composite score (admissions): A single number an institute computes from several inputs, such as CAT scores, academic marks, work experience and gender diversity, each with a published weight, to rank applicants for a shortlist or an offer. yourself, see how its parts trade off and read a published minimum percentile for what it is. It also marks the figures of the applicant pool that every formula needs and no candidate can know, which is why no calculator can tell you whether you will be shortlisted.
Each IIM sets its own stages after one common test
Every IIM reads the same CAT result, and that is where the common ground ends. The CAT 2026 Information Bulletin says that each IIM sets its own eligibility criteria, including academic cut-offs and relative weights, and follows its own selection process. CAT performance is an important component, and an IIM may also use your earlier academic record and relevant work experience. IIM Ahmedabad’s policy adds that it shortlists independently of the other IIMs, so the same candidate can be on one IIM’s list and not on another’s.
The stages still follow one shape. Step through it with the three policies of the 2027–29 batch:
The drawing shows the whole scene; its 9 steps are listed below.
Every step as text
- One result for every IIM. The CAT result gives each candidate an overall and a section-wise percentile, and IIM Calcutta also uses the total scaled score. Every IIM reads the same result; what each does with it is its own policy.
- Basic filters. IIM Ahmedabad keeps applicants who will be 19 or older by the end of June of the year the programme starts, who are Indian nationals in their CAT information, and who applied to its two-year PGP.
- Floors first, at two IIMs. IIM Bangalore keeps only candidates with a positive raw score and its minimum in every section. IIM Calcutta keeps those who meet its section-wise and overall percentiles with no negative raw score in any section.
- One number per candidate. The rest get a composite score. CAT is the largest part everywhere, with academic marks, work experience and gender diversity added in each policy's own way, as the next sections work out.
- IIM Ahmedabad's order. IIM Ahmedabad works the other way round. It computes and normalises every composite first, then applies its minimum CAT percentiles to the candidates it has scored.
- The shortlist. Each institute calls the number of candidates it decides on, category by category. IIM Calcutta sets its composite cut-offs at its own discretion; IIM Ahmedabad makes sure every reservation category is represented.
- Writing test and interview. The shortlisted sit a writing test and a personal interview. IIM Ahmedabad holds its Analytical Writing Test and interviews in six cities; IIM Bangalore holds its Written Ability Test on the interview day, at the same place.
- A new score after the interview. Every institute then computes a final score with new weights, in which the interview and the writing test count. IIM Ahmedabad's gives the interview half of the total.
- Offers by merit. Offers follow the final score in each category, in the proportions the law requires. The composite that earned the interview call is only one input of the score that decides the offer.
Two differences in the order matter. IIM Bangalore and IIM Calcutta remove candidates below their minimum percentiles before they compute anything, while IIM Ahmedabad computes every composite first and applies its CAT minimums to the normalised scores. And each institute computes a new score after the interviews, with new weights, so the composite that earns a call is not the score that decides an offer. The next lesson works through those final formulas.
Policies for the 2027–29 batch
Every rule and weight in this lesson comes from the policies for the batch that applies with CAT 2026. Each IIM publishes a new policy for each batch, and IIM Bangalore’s says that nothing in it can be read as a rule for later cycles, so compare the new tables before you reuse a number.
Checkpoint
Check: The stages after the CAT result
IIM Ahmedabad rates your record out of 38
IIM Ahmedabad’s first step is an application rating (IIM Ahmedabad): IIM Ahmedabad's points for an applicant's record: bands of 10th, 12th and bachelor's marks, months of work experience and gender diversity, added to a rating of at most 38 and then divided by the average of the pool's 50 highest ratings. built from five entries of your CAT form: your 10th, 12th and bachelor’s percentages, your months of full-time work experience and your gender. Each of the three marks earns points by band, from one table:
| Percentage | Points |
|---|---|
| 55 or less | 1 |
| Above 55, up to 60 | 2 |
| Above 60, up to 70 | 3 |
| Above 70, up to 80 | 5 |
| Above 80, up to 90 | 8 |
| Above 90 | 10 |
Work experience earns nothing below 12 months, then 0.2 points for every month above 11, which reaches 5 points at 36 months; more than 36 months still earns 5. Every candidate who is not male receives 3 points for gender diversity. The highest possible rating is therefore 10 + 10 + 10 + 5 + 3 = 38.
Step through the rating of an invented profile: 92 % in the 10th, 88 % in the 12th, 74 % in the degree, 24 months of work, male. The program works in tenths of a point, so every value it holds is a whole number:
Program · rating/rating.py
# IIM Ahmedabad's rating rules for
# PGP 2027-29, in tenths of a point
BANDS = [(90, 100), (80, 80),
(70, 50), (60, 30),
(55, 20)]
rating = 0
for pct in [92, 88, 74]:
points = 10
for floor, tenths in BANDS:
if pct > floor:
points = tenths
break
rating += points
months = 24
if months > 36:
rating += 50
elif months >= 12:
rating += 2 * (months - 11)
male = True
if not male:
rating += 30
print("rating:", rating / 10) Variables
- just taken by the loop
- changed in this step
- passed by the loop
- read next
- where the loop stopped
Printed so far
Nothing printed yetrating: 25.6
Every step was recorded from a run with Python 3.14.8 on macOS 26 arm64.
The drawing shows the variables when the program ends, and the program's 38 steps are listed below.
Change the program and run it here. 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
Every step as text
- Start. No line has run yet, so there are no variables. Python starts with line 3.
- Line 3.
BANDS = [(90, 100), (80, 80), (70, 50), (60, 30), (55, 20)]makesBANDSa list of 5 items. - Line 6.
rating = 0setsratingto0. - Line 7.
for pct in [92, 88, 74]:takes the item at position 0 of[92, 88, 74]:pctis92. - Line 8.
points = 10setspointsto10. Key point Every mark starts at 10 tenths, the 1 point that 55 % or less earns. The loop below raises it to the first band whose floor the mark is above. - Line 9.
for floor, tenths in BANDS:takes the item at position 0 ofBANDS:flooris90andtenthsis100. - Line 10.
pct > flooris true (pctis92andflooris90), so the block underif pct > floor:runs. - Line 11.
points = tenthssetspointsto100(it was10). 92 is above 90, the floor of the top band, so the 10th earns the full 10 points, written as 100 tenths. - Line 12.
breakleaves the loop at once, without reading the items it has not reached. - Line 13.
rating += pointschangesratingfrom0to100. - Line 7.
for pct in [92, 88, 74]:takes the item at position 1 of[92, 88, 74]:pctis88. - Line 8.
points = 10setspointsto10(it was100). - Line 9.
for floor, tenths in BANDS:takes the item at position 0 ofBANDS:flooris90andtenthsis100. - Line 10.
pct > flooris false (pctis88andflooris90), so Python skips the block underif pct > floor:. - Line 9.
for floor, tenths in BANDS:takes the item at position 1 ofBANDS:flooris80andtenthsis80. - Line 10.
pct > flooris true (pctis88andflooris80), so the block underif pct > floor:runs. - Line 11.
points = tenthssetspointsto80(it was10). 88 is not above 90 but is above 80, so the 12th earns 8 points. A band holds its top value, so 90.0 % would earn 8 as well. - Line 12.
breakleaves the loop at once, without reading the items it has not reached. - Line 13.
rating += pointschangesratingfrom100to180. - Line 7.
for pct in [92, 88, 74]:takes the item at position 2 of[92, 88, 74]:pctis74. - Line 8.
points = 10setspointsto10(it was80). - Line 9.
for floor, tenths in BANDS:takes the item at position 0 ofBANDS:flooris90andtenthsis100. - Line 10.
pct > flooris false (pctis74andflooris90), so Python skips the block underif pct > floor:. - Line 9.
for floor, tenths in BANDS:takes the item at position 1 ofBANDS:flooris80andtenthsis80. - Line 10.
pct > flooris false (pctis74andflooris80), so Python skips the block underif pct > floor:. - Line 9.
for floor, tenths in BANDS:takes the item at position 2 ofBANDS:flooris70andtenthsis50. - Line 10.
pct > flooris true (pctis74andflooris70), so the block underif pct > floor:runs. - Line 11.
points = tenthssetspointsto50(it was10). Key point 74 is above 70 and not above 80, so the degree earns 5 of its 10 points, the profile's largest loss. - Line 12.
breakleaves the loop at once, without reading the items it has not reached. - Line 13.
rating += pointschangesratingfrom180to230. - Line 7.
for pct in [92, 88, 74]:finds no item at position 3 of[92, 88, 74](it has 3 items), so the loop ends. - Line 14.
months = 24setsmonthsto24. - Line 15.
months > 36is false (monthsis24), so Python tests the next condition. - Line 17.
months >= 12is true (monthsis24), so the block underelif months >= 12:runs. - Line 18.
rating += 2 * (months - 11)changesratingfrom230to256. Key point Work from 12 to 36 months earns 0.2 points for each month above 11, so 24 months give 0.2 × 13 = 2.6 points, written as 26 tenths. More than 36 months earns 5. - Line 19.
male = TruesetsmaletoTrue. - Line 20.
not maleis false (maleisTrue), so Python skips the block underif not male:. - Line 22.
print("rating:", rating / 10)printsrating: 25.6. That was the last line, so the program ends. 25.6 of a possible 38, that is 10 + 8 + 5 + 2.6 + 0. Every step after this one needs averages of the whole applicant pool, which no applicant can see.
The profile scores 10 + 8 + 5 + 2.6 + 0 = 25.6 of 38. Its degree costs it most: 74 % is worth 5 of 10, and every degree mark above 70 and up to 80 earns the same 5.
Reading a band edge the wrong way
Each band includes its top value and starts just above the one below: 80.0 % earns 5 points, and only a mark above 80 earns 8. Count every subject on your 10th and 12th mark sheets, too: the policy uses all of them, whatever your board includes in its own percentage.
Checkpoint
Check: IIM Ahmedabad's application rating
The rating is weighed against CAT, 35 to 65
A rating of 25.6 means little until it is compared with other applicants’ ratings, and that is the next step. IIM Ahmedabad divides each rating by the average of the 50 highest ratings in the applicant pool, then adds 35 % of that normalised rating to 65 % of the overall CAT percentile divided by 100:
In words: a rating equal to the top-50 average together with a 100th percentile gives exactly 1. For the sample profile at the 98.5th percentile, with an assumed top-50 average of 36, it is 0.35 × 0.7111 + 0.65 × 0.985 = 0.8891. Last, each raw composite is divided by the average of the top 1 % of raw composites in the candidate’s own undergraduate discipline, one of 20 the policy lists, among them Engineering & Technology and Commerce, Accounting & Finance; that top 1 % holds at least 5 and at most 100 scores. The program runs all three published formulas on the profile and marks every figure that no policy publishes:
"""Three published shortlisting formulas for the 2027-29 batch, worked for one profile with exact fractions:
IIM Ahmedabad's composite score, IIM Bangalore's pre-interview score and IIM Calcutta's Stage II composite, each as
its own admission policy prints it. Every figure of the applicant pool that a formula needs but no policy publishes is
marked ASSUMED: change one and the result moves, which is why no program can predict a shortlist.
Press Edit, put in your own profile, and run it again."""
from fractions import Fraction as F
MARKS = {"10th": 92, "12th": 88, "degree": 74} # percentages as the CAT form records them
MONTHS = 24 # months of full-time work experience
GENDER = "male" # "male", "female" or "transgender"
PERCENTILE = F("98.5") # overall CAT percentile
# Figures of the pool that the policies do not publish, each a guess you can change.
TOP_50_RATING = F(36) # ASSUMED: IIM Ahmedabad, average of the 50 highest application ratings
TOP_1_COMPOSITE = F("0.95") # ASSUMED: IIM Ahmedabad, average of the top 1 % raw composites in your discipline
POOL = {"10th": (88, 6), "12th": (85, 7), "degree": (72, 8)} # ASSUMED: IIM Bangalore, (mean, sd) of the first shortlist
SCALED_SHARE = F("0.60") # ASSUMED: IIM Calcutta, your total scaled score as a share of the maximum possible
def num(x, places=4):
return f"{float(x):.{places}f}".rstrip("0").rstrip(".")
print("IIM Ahmedabad: an application rating, then the composite score")
BANDS = [(90, 10), (80, 8), (70, 5), (60, 3), (55, 2)] # above the floor, up to the next band
def band(pct):
return next((points for floor, points in BANDS if pct > floor), 1)
work = F(0) if MONTHS < 12 else F(5) if MONTHS > 36 else F(2, 10) * (MONTHS - 11)
diversity = 0 if GENDER == "male" else 3
rating = sum(band(m) for m in MARKS.values()) + work + diversity
for name, pct in MARKS.items():
print(f" {name} {pct} %: {band(pct)} points")
print(f" work experience, {MONTHS} months: {num(work)} points; gender diversity: {diversity}")
print(f" rating: {num(rating)} of 38")
normalised = rating / TOP_50_RATING
raw = F(35, 100) * normalised + F(65, 100) * PERCENTILE / 100
print(f" ASSUMED top-50 average rating {num(TOP_50_RATING)}: normalised rating {num(normalised)}")
print(f" raw composite: 0.35 x {num(normalised)} + 0.65 x {num(PERCENTILE / 100)} = {num(raw)}")
print(f" ASSUMED top 1 % average in your discipline {num(TOP_1_COMPOSITE)}: composite {num(raw / TOP_1_COMPOSITE)}")
per_point = (F(35, 100) / TOP_50_RATING) / (F(65, 100) / 100)
print(f" one more rating point is worth {num(per_point, 2)} CAT percentile points under these assumptions")
print()
print("IIM Bangalore: every part standardised against the first shortlist")
def standardise(value, mean, sd, weight):
return max(F(0), min(F(weight), F(weight, 2) + F(value - mean, sd) * F(weight, 6)))
total = F(0)
for name, (mean, sd) in POOL.items():
points = standardise(MARKS[name], mean, sd, 10)
total += points
print(f" {name} {MARKS[name]} %, ASSUMED mean {mean} and sd {sd}: {num(points, 3)} of 10")
work_b = F(10) if MONTHS >= 36 else F(10 * MONTHS, 36)
total += work_b
print(f" work experience, {MONTHS} months (10 x months / 36, not standardised): {num(work_b, 3)} of 10")
print(f" these four parts: {num(total, 3)} of 40; CAT adds up to 55 and gender diversity up to 5")
print(" one sd above the mean adds weight / 6: VARC 3.167, DILR 3.5, QA 2.5, each mark (weight 10) 1.667")
print()
print("IIM Calcutta: points for school marks and a scaled CAT score")
ten = next((p for floor, p in [(80, 10), (75, 8), (70, 6), (65, 4), (60, 2)] if MARKS["10th"] >= floor), 0)
twelve = next((p for floor, p in [(80, 15), (75, 12), (70, 9), (65, 6), (60, 3)] if MARKS["12th"] >= floor), 0)
gender_c = 4 if GENDER in ("female", "transgender") else 0
cat_c = 56 * SCALED_SHARE
print(f" class 10: {ten} of 10; class 12: {twelve} of 15; gender diversity: {gender_c} of 4")
print(f" CAT: 56 x ASSUMED share {num(SCALED_SHARE)} = {num(cat_c)}; composite {num(ten + twelve + gender_c + cat_c)} of 85")
print(" no degree marks and no work experience at this stage") Output
IIM Ahmedabad: an application rating, then the composite score 10th 92 %: 10 points 12th 88 %: 8 points degree 74 %: 5 points work experience, 24 months: 2.6 points; gender diversity: 0 rating: 25.6 of 38 ASSUMED top-50 average rating 36: normalised rating 0.7111 raw composite: 0.35 x 0.7111 + 0.65 x 0.985 = 0.8891 ASSUMED top 1 % average in your discipline 0.95: composite 0.9359 one more rating point is worth 1.5 CAT percentile points under these assumptions IIM Bangalore: every part standardised against the first shortlist 10th 92 %, ASSUMED mean 88 and sd 6: 6.111 of 10 12th 88 %, ASSUMED mean 85 and sd 7: 5.714 of 10 degree 74 %, ASSUMED mean 72 and sd 8: 5.417 of 10 work experience, 24 months (10 x months / 36, not standardised): 6.667 of 10 these four parts: 23.909 of 40; CAT adds up to 55 and gender diversity up to 5 one sd above the mean adds weight / 6: VARC 3.167, DILR 3.5, QA 2.5, each mark (weight 10) 1.667 IIM Calcutta: points for school marks and a scaled CAT score class 10: 10 of 10; class 12: 15 of 15; gender diversity: 0 of 4 CAT: 56 x ASSUMED share 0.6 = 33.6; composite 58.6 of 85 no degree marks and no work experience at this stage
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 composite.py
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
Under these assumptions one rating point is worth about 1.5 CAT percentile points: it adds 0.35 ÷ 36 to the raw composite, while each percentile point adds 0.65 ÷ 100. So two applicants with 88 % and 91 % in the 12th, alike in everything else, start about 3 percentile points apart, since the second earns 10 points for the 12th instead of 8.
Change the pool, then the profile
Press Edit and set TOP_50_RATING to 33: the raw composite rises from 0.8891 to 0.9118, and a rating point is now
worth 1.63 percentile points. Set it back to 36 and make GENDER "female": the rating becomes 28.6 and the raw
composite 0.9183.
Checkpoint
Check: From rating to composite score
IIM Bangalore scores each part against the first shortlist
IIM Bangalore starts by cutting the pool. Its first shortlist keeps only candidates with a positive raw score in every section of CAT 2026 and a pre-determined minimum in every section, and its policy prints the percentiles it applied to CAT 2025 (the last section compares them). Every later step, it says, is limited to the first shortlist alone. For those candidates it builds a pre-interview score of 100 points:
| Part | Points |
|---|---|
| CAT: VARC 19, DILR 21, QA 15 | 55 |
| 10th, 12th and bachelor’s marks | 10 each |
| Work experience, or a professional course | 10 |
| Gender diversity | 5 |
The policy turns each raw score into points with one formula, a standardised score: A score measured by its distance from a group's mean in standard deviations, so that marks from different boards or tests can be compared. IIM Bangalore turns it into points between 0 and a part's weight. capped between 0 and the part’s weight w:
In words: a candidate exactly at the mean of the first shortlist earns half the weight, each standard deviation above the mean adds a sixth of the weight, and three standard deviations above or below reach the cap or the floor. With weight 10, a mean of 75 and a standard deviation of 10, a mark of 85 earns 5 + 1.667 = 6.667, a mark of 95 earns 8.333 and a mark of 50 earns 0.833. Work experience has a formula of its own: 10 × months ÷ 36 below 36 months, counted up to July of the CAT year, and 10 from 36 months on, so 24 months give 6.667. The program’s second block applies these rules to the sample profile, with means and standard deviations it has to assume.
Z-Score & Normal Distribution Calculator Work out how many standard deviations a mark lies from a mean, the step inside IIM Bangalore's formula.Two more rules widen the gate. The top ten candidates by total CAT score, by adjusted bachelor’s score in commerce, arts and science, and by professional course score qualify for the interview stage automatically. And a candidate with both a professional course and work experience gets the higher of the two scores, not both.
Checkpoint
Check: Standardised parts at IIM Bangalore
IIM Calcutta adds points for school marks to a scaled CAT score
IIM Calcutta’s Stage I keeps candidates who meet its section-wise and overall minimum percentiles with no negative raw score in any section. Its Stage II composite has 85 points and leaves out two things the other two policies count, the bachelor’s degree and work experience:
| Part | Points | How the policy computes them |
|---|---|---|
| CAT 2026 | 56 | 56 × your total scaled score ÷ the maximum possible scaled score |
| Class 10 marks | 10 | 80 % or more: 10; then 8, 6, 4 and 2 for each band of 5 % below; under 60 %: 0 |
| Class 12 marks | 15 | 80 % or more: 15; then 12, 9, 6 and 3; under 60 %: 0 |
| Gender diversity | 4 | for female and transgender candidates |
These bands are closed at the bottom, the reverse of IIM Ahmedabad’s: 80.0 % earns IIM Calcutta’s top band but only 5 of IIM Ahmedabad’s points. The sample profile earns all 25 points for its school marks, so everything else it can gain here comes from CAT. The CAT term needs the maximum possible scaled score, which the policy does not state, so the program assumes a share of 0.60 and gets 33.6 + 25 = 58.6 of 85.
Checkpoint
Check: Points tables at IIM Calcutta
Published minimums are floors, and the pool decides the rest
Every policy prints minimum percentiles, and each says in its own words that they are not the cut-offs. For General candidates who are not PwD the minimum percentile: The lowest CAT percentile, overall or in a section, at which an institute will consider a candidate at a stage. It is a floor for being considered, not the score of the last candidate called. are:
| Institute | VARC | DILR | QA | Overall |
|---|---|---|---|---|
| IIM Ahmedabad | 85 | 85 | 85 | 95 |
| IIM Bangalore (as applied to CAT 2025) | 80 | 75 | 75 | 85 |
| IIM Calcutta | 80 | 80 | 75 | 85 |
IIM Calcutta writes that the actual cut-offs may be much higher, depending on how many candidates it calls in each category; IIM Bangalore notes under its table that the scores of those called for interviews were higher; IIM Ahmedabad says its cut-offs depend on the applicant pool and the spread of CAT scores, and may change. A floor only lets a profile be ranked. Run four invented profiles against the three tables:
"""The published minimum CAT percentiles for General (open) candidates who are not PwD, as three admission policies
for the 2027-29 batch print them, checked against four invented profiles. IIM Bangalore's row is the table its policy
prints for the previous cycle (CAT 2025); for CAT 2026 it says only that its first shortlist needs a pre-determined
minimum in every section. Clearing a floor only lets a profile be ranked; it shows nothing about a shortlist.
Press Edit, add your own percentiles, and run it again."""
FLOORS = { # (VARC, DILR, QA, overall)
"IIM Ahmedabad": (85, 85, 85, 95),
"IIM Bangalore (previous cycle)": (80, 75, 75, 85),
"IIM Calcutta": (80, 80, 75, 85),
}
SECTIONS = ("VARC", "DILR", "QA", "overall")
PROFILES = { # invented percentiles
"Asha": (97.2, 96.4, 94.1, 98.5),
"Bharat": (99.1, 92.0, 82.3, 97.6),
"Chitra": (78.5, 99.2, 99.4, 96.8),
"Dev": (90.0, 88.0, 91.0, 94.6),
}
for person, scores in PROFILES.items():
print(f"{person}: " + ", ".join(f"{s} {v}" for s, v in zip(SECTIONS, scores)))
for institute, floor in FLOORS.items():
short = [f"{s} {v} < {f}" for s, v, f in zip(SECTIONS, scores, floor) if v < f]
print(f" {institute}: " + ("clears every floor" if not short else "below the floor: " + "; ".join(short)))
cleared = sum(all(v >= f for v, f in zip(scores, floor)) for scores in PROFILES.values() for floor in FLOORS.values())
print(f"{cleared} of {len(PROFILES) * len(FLOORS)} checks cleared; IIM Calcutta adds that actual cut-offs may be much higher") Output
Asha: VARC 97.2, DILR 96.4, QA 94.1, overall 98.5 IIM Ahmedabad: clears every floor IIM Bangalore (previous cycle): clears every floor IIM Calcutta: clears every floor Bharat: VARC 99.1, DILR 92.0, QA 82.3, overall 97.6 IIM Ahmedabad: below the floor: QA 82.3 < 85 IIM Bangalore (previous cycle): clears every floor IIM Calcutta: clears every floor Chitra: VARC 78.5, DILR 99.2, QA 99.4, overall 96.8 IIM Ahmedabad: below the floor: VARC 78.5 < 85 IIM Bangalore (previous cycle): below the floor: VARC 78.5 < 80 IIM Calcutta: below the floor: VARC 78.5 < 80 Dev: VARC 90.0, DILR 88.0, QA 91.0, overall 94.6 IIM Ahmedabad: below the floor: overall 94.6 < 95 IIM Bangalore (previous cycle): clears every floor IIM Calcutta: clears every floor 7 of 12 checks cleared; IIM Calcutta adds that actual cut-offs may be much higher
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 floors.py
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
Bharat’s QA percentile of 82.3 clears two floors and misses IIM Ahmedabad’s 85, and Dev’s 94.6 overall misses only IIM Ahmedabad’s 95: the same profile is out at one institute and still ranked at another.
Not affiliated
Based on public information about the Indian Institutes of Management. MySmartCoPilot is not affiliated with the Indian Institutes of Management, and the Indian Institutes of Management’s real admission rules may differ from what this lesson describes.
What the floors cannot tell you, the formulas cannot either, because each needs figures of the pool that no candidate sees:
- IIM Ahmedabad: the average of the 50 highest ratings, and the average of the top 1 % of raw composites in each discipline.
- IIM Bangalore: the mean and the standard deviation of every part across its first shortlist.
- IIM Calcutta: the maximum possible scaled score, and the composite cut-off it sets in each category.
- All three: how many candidates each decides to call.
A composite calculator shows how the parts of a published formula trade off against each other. It cannot say who will be shortlisted, and this track never predicts it.
Key idea
A published minimum is the score below which you are not considered, not the score that earns a call, and every composite needs averages of an applicant pool that nobody outside the institute can see.
Checkpoint
Check: Floors and the figures nobody can see
Practise: ten questions on the three formulas
Ten questions on the stages, the three formulas and the floors. They start where your answers have been weakest so far, and a question you miss comes back once before the end:
Practice that adapts to you
Practise this lesson
10 questions about 6 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.
Interview questions
Warm-up: what is a composite score?
It is the single number an institute computes to rank applicants, from several inputs that each carry a published weight. For the 2027–29 batch, IIM Ahmedabad’s adds 35 % of an application rating, built from the 10th, 12th and degree marks, work experience and gender diversity, to 65 % of the CAT percentile. IIM Bangalore’s adds points for CAT, the three marks, work experience and diversity, out of 100, with CAT and the marks standardised against its first shortlist. IIM Calcutta’s adds a scaled CAT score to points for the school marks and diversity, out of 85. A composite earns or misses the interview call; after the interviews each institute computes a new one, with the interview in it, to make its offers.
Two questions take the formulas further:
Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.
-
Fresher to mid
Your CAT result is out and you want a better chance with IIM Ahmedabad, IIM Bangalore and IIM Calcutta. Which inputs of their shortlisting formulas can you still change, which are fixed, and where would you spend the weeks before the shortlists?
-
Fresher to mid
Two IIM Ahmedabad applicants have the same rating, 25.6, and the same 98.5 percentile, so the same raw composite. One studied engineering, the other commerce. Can their composite scores still differ, and by how much?
Flashcards · 8 cards
Recall it, then check
Say the answer to yourself before you look: recalling it is what makes it stick.
-
Does a CAT percentile decide an IIM interview call on its own?
No. Each IIM sets its own eligibility, weights and selection process after the common test, and IIM Ahmedabad shortlists independently of the other IIMs, so one candidate can be on one IIM's list and not on another's.
-
How much of each shortlisting score is CAT for the 2027–29 batch?
IIM Ahmedabad gives CAT 65 % of its composite, IIM Bangalore 55 of 100 points and IIM Calcutta 56 of 85. The rest comes from school and degree marks, work experience and gender diversity, in each institute's own way.
-
How does IIM Ahmedabad build its application rating out of 38?
Up to 10 points each for the 10th, 12th and bachelor's marks, by band; 0.2 a month for work experience above 11 months, up to 5 at 36 months; and 3 for gender diversity. 92, 88 and 74 % with 24 months, male, rate 25.6.
-
At IIM Ahmedabad, does 80.0 % earn the points of the 70–80 band or the 80–90 band?
The 70–80 band, 5 points: each band includes its top value, and only a mark above 80 earns 8. IIM Calcutta's bands are closed at the bottom instead, so 80.0 % earns its top band.
-
How does IIM Ahmedabad weigh the rating against CAT?
0.35 × rating ÷ the top-50 average rating + 0.65 × CAT percentile ÷ 100, then divided by the average of the top 1 % in the candidate's discipline. With a top-50 average of 36, one rating point is worth about 1.5 percentile points.
-
How does IIM Bangalore turn a mark into points?
With a standardised score capped between 0 and the weight: at the first shortlist's mean you earn half the weight, and each standard deviation adds a sixth. Weight 10, mean 75, sd 10: 85 earns 6.667.
-
What makes up IIM Calcutta's Stage II composite of 85 points?
56 for the scaled CAT score, 10 for Class 10, 15 for Class 12 and 4 for gender diversity, with no points for the bachelor's degree or work experience at this stage.
-
Is a published minimum percentile the score that earns an interview call?
No, it is a floor below which you are not considered; the institutes say actual cut-offs may be higher. Every composite also needs averages of the applicant pool that nobody outside sees, so none can predict a shortlist.
Key takeaways
- Each IIM sets its own stages and weights after one common test, and IIM Ahmedabad shortlists independently of the other IIMs, so lists for the same candidate can differ.
- IIM Ahmedabad rates the 10th, 12th and degree marks, work experience and gender out of 38, divides the rating by the top-50 average, and weighs it 35 to 65 against the CAT percentile.
- IIM Bangalore standardises its parts against its first shortlist, so a candidate at the mean earns half of each weight, and DILR carries 21 of CAT’s 55 points.
- IIM Calcutta’s shortlisting composite adds 56 points from the scaled CAT score to up to 29 for school marks and diversity, without the degree or work experience.
- Published minimum percentiles are floors, not cut-offs, and every composite needs figures of the pool that no candidate can see, so no calculator can predict a shortlist.
Terms in this lesson
- application rating (IIM Ahmedabad)
- IIM Ahmedabad's points for an applicant's record: bands of 10th, 12th and bachelor's marks, months of work experience and gender diversity, added to a rating of at most 38 and then divided by the average of the pool's 50 highest ratings.
- composite score (admissions)
- A single number an institute computes from several inputs, such as CAT scores, academic marks, work experience and gender diversity, each with a published weight, to rank applicants for a shortlist or an offer.
- minimum percentile
- The lowest CAT percentile, overall or in a section, at which an institute will consider a candidate at a stage. It is a floor for being considered, not the score of the last candidate called.
- standardised score
- A score measured by its distance from a group's mean in standard deviations, so that marks from different boards or tests can be compared. IIM Bangalore turns it into points between 0 and a part's weight.
References
- CAT 2026 Information Bulletin (Indian Institutes of Management (CAT 2026, conducted by IIM Indore))
- PGP admission procedure for the 2027–29 batch (Indian Institute of Management Ahmedabad)
- PGP (MBA) 2027–29 admission procedure (Indian Institute of Management Bangalore)
- Admission policy for the MBA programme, batch 2027–29 (Indian Institute of Management Calcutta)
Related tools
Report a problem with this lesson
Kept only in this browser. Your Learn progress