Skip to content

What NIRF says about itself, by discipline

Built entirely from NIRF’s own published institute disclosures (2016-2025), with AISHE, AICTE and NMC used only to size what NIRF does not cover. Public data throughout: no Avanti student data and no personally identifiable information.

NIRF 2025 ranking. August 2026.

NIRF data only. No PLFS, no AISHE, no AICTE, no NAAC. Every number here was submitted to NIRF by a ranked institute, and every rate is one NIRF number over another. Nothing is reconciled against an external benchmark — that is a separate, later piece, and keeping it out is the point of this one. Read on its own terms, this answers a single question: what does the ranked sector report about itself, and how does that differ by discipline?


NIRF 2025, each discipline read at its own latest outcome year. Rates are NIRF’s own placed and higher-study counts over its own graduated count.

Discipline Level Graduated Placed % Higher study % Institute median salary
Engineering UG 107,526 70.78% 14.08% ₹1,005,000
PG 24,797 70.58% 17.22% ₹870,000
Management PG 31,949 88.11% 1.77% ₹1,107,146
Medical UG 6,953 60.45% 35.51% ₹950,000
PG 8,764 80.66% 15.89% ₹1,560,000
Dental UG 2,624 59.53% 32.32% ₹600,000
PG 1,150 89.74% 7.04% ₹1,045,000
Pharmacy UG 7,282 43.97% 38.85% ₹377,000
PG 6,488 82.94% 11.39% ₹500,000
Law UG 6,132 69.16% 14.20% ₹630,000
PG 1,886 69.94% 13.15% ₹620,000
Architecture UG 2,611 66.22% 16.58% ₹523,000
PG 1,392 85.56% 6.25% ₹650,000
Agriculture UG 15,751 36.44% 51.49% ₹500,000
PG 6,468 54.25% 37.68% ₹684,000

These are the colleges NIRF ranks today. It has ranked more than that, and the set it ranks now is positively selected — colleges whose placement fell drifted down the ranking and eventually out. Counting every college NIRF has ever ranked, at its own last report:

Discipline (UG) Ranked today Ever ranked Graduates Placed %, today Placed %, ever
Engineering 97 263 222,407 70.62% 70.95%
Dental 38 62 4,527 60.67% 55.31%
Pharmacy 87 128 10,139 43.97% 41.71%
Agriculture 37 47 18,082 36.03% 34.94%
Medical 47 61 9,357 61.23% 58.87%
Law 38 47 6,902 68.50% 63.68%
Architecture 40 45 2,743 68.00% 67.99%

Every discipline but engineering places worse once the departed colleges are counted — Dental by 5.36 points, Law by 4.82. Engineering is flat at +0.33 because its 166 missing colleges are the 101–200 band NIRF stopped publishing after 2022, not colleges that failed. All PG tracks are unchanged, since those ranking tracks are too recent for anyone to have dropped out.

The full treatment, including what this view costs, is in COVERAGE.md.

Never add this column up. An institute appears in several ranking categories — an IIT is in Engineering and Overall — so a total across disciplines counts the same students more than once. The disciplines sit side by side; they are not parts of a whole.


Inside each discipline: rank predicts pay, and little else

Section titled “Inside each discipline: rank predicts pay, and little else”

Every discipline note now opens its rate up by rank band. Read across them and the striking thing is how unlike engineering the others are.

Discipline (UG) Colleges Salary, top band → bottom Ratio Placed %, top → bottom Falls with rank?
Engineering 263 ₹19.5L → ₹4.0L 4.9× 76.0 → 67.6 no
Law 47 ₹15.0L → ₹6.4L 2.4× 81.9 → 61.6 no
Architecture 45 ₹6.5L → ₹3.3L 1.9× 68.6 → 64.5 no
Pharmacy 128 ₹5.3L → ₹2.9L 1.8× 48.2 → 39.3 yes
Dental 62 ₹5.4L → ₹4.1L 1.3× 63.5 → 54.8 no
Agriculture 47 ₹5.7L → ₹5.0L 1.1× 34.6 → 40.1 no
Medical 61 ₹6.3L → ₹7.5L 0.8× 67.8 → 54.0 yes

Engineering’s salary gradient is in a class of its own — 4.9×, against 2.4× for the next steepest and 1.1–1.3× at the bottom. Outside engineering and law, a college’s rank says very little about what its graduates are paid.

Medical inverts. Lower-ranked medical colleges report higher median salaries than the top ten — ₹7.5L against ₹6.3L. Small cells and self-reporting both apply, but the sign is the opposite of the assumption a ranking invites.

Placement rate falls cleanly with rank in only two of seven disciplines (Pharmacy and Medical). Everywhere else it wanders. Whatever NIRF rank measures, it is much closer to pay than to whether a graduate is hired at all.

Female enrolment differs even more sharply — 20.3% in top-ranked engineering against 69.8% in top-ranked dentistry — and the direction of its gradient is not consistent either. Each note carries its own figure. NIRF publishes no placement or salary by sex, so none of this speaks to outcomes.

1. A low placement rate is usually a high higher-study rate

Section titled “1. A low placement rate is usually a high higher-study rate”

The two move against each other, and reading either alone misleads.

Pharmacy UG places 43.97% and sends 38.85% to postgraduate study. Agriculture UG places 36.44% and sends 51.49% — the only track in the ranking where more graduates continue studying than start work. Neither is a sector failing to place its graduates; both are first degrees that are not expected to be terminal.

Against that, Management PG places 88.11% and sends 1.77% onward, because an MBA is the onward step.

Placed-or-continuing is the fairer single number, and it compresses the board sharply: Pharmacy UG rises from 43.97% to 82.82%, Agriculture UG from 36.44% to 87.93%.

2. The gap between UG and PG is the discipline’s real signature

Section titled “2. The gap between UG and PG is the discipline’s real signature”
Discipline UG placed PG placed Gap
Pharmacy 43.97% 82.94% +38.97
Dental 59.53% 89.74% +30.21
Medical 60.45% 80.66% +20.21
Architecture 66.22% 85.56% +19.34
Agriculture 36.44% 54.25% +17.81
Law 69.16% 69.94% +0.78
Engineering 70.78% 70.58% −0.20

At one end, Pharmacy: the B.Pharm reads as a qualifying step toward an M.Pharm rather than a labour-market credential. At the other, engineering is the only discipline whose PG track does not out-place its UG track — a B.Tech is already the terminal degree, and law is nearly as flat.

Engineering graduates 107,526 students at UG, seven times Agriculture’s 15,751 and fifteen times Pharmacy’s 7,282 — and reports both the highest UG placement rate and the highest UG institute median salary. Dental PG graduates 1,150 and reports the highest placement rate on the entire board, 89.74%.

Nothing in this data suggests a size–outcome relationship in either direction. The small tracks are small enough that a handful of institutes move their rates, which is a caution about precision, not a finding about size.


It is not a picture of Indian higher education. NIRF ranks institutes that choose to apply and that clear a threshold. Everything here is the ranked sector describing itself, and the ranked sector is a small, self-selected slice.

The salary figure is a median of institute medians. NIRF publishes one median per institute, so a sector median cannot be recovered from it. Taking the median of those medians weights a 60-graduate college the same as a 1,200-graduate one. It is a useful ordering of disciplines and a bad estimate of what a graduate earns. Every note repeats this warning.

Placement is unaudited and undefined. These are the institutes’ own submissions. NIRF does not publish what counts as “placed”, and nothing here tests it.

No cohort funnel is computed. Intake and outcomes are reported on different academic years, so an entry-to-exit funnel would need to link an intake year to an outcome year through the programme’s duration. That is possible with this extract and deliberately not done yet — see METHOD.md.


File What
METHOD.md Every decision, the five traps in the source table, and what is still open
QUERIES.md The queries that established the method, including the four that changed it
disciplines/ Eight self-contained notes, one per discipline
extract.sql The one extract: two grains, every discipline, every ranking year
build_notes.py Generates the discipline notes from the CSV — no number is hand-typed
check_notes.py Verifies every table cell and every superlative claim; exits 1 on mismatch
Terminal window
bq query --use_legacy_sql=false --format=csv --max_rows=100000 \
< extract.sql > output/nirf_by_discipline.csv
python3 build_notes.py
python3 check_notes.py

Run check_notes.py before any commit. It checks 110 cells and comparative claims. The first draft of the eight discipline readings contained five false superlatives — all plausible, none catchable by comparing cells — and that is why the checker verifies claims, not just numbers.