How we score — and what we refuse to score
A candidate's rank should survive an audit. This page is the audit: where every signal comes from, how gaming is neutralised, and what happens when evidence is missing.
Every rank is built only from evidence we can defend.
Verify or exclude
A signal with no verifiable data is excluded from the ranking and the remaining weights are renormalised. A missing GitHub is never counted as a zero — it simply stops counting.
Never fabricate
No number in a CandidateRank score is estimated, interpolated, or guessed. If the evidence isn’t there, the score says so — in the open, as reduced coverage on the candidate’s card.
Formulas judge quantity, AI judges quality
Counts, ratings, and caps are deterministic math anyone can re-run. The AI reads what can’t be counted — project substance, résumé depth — and never invents a statistic.
Where every number comes from
Nothing in a CandidateRank score is taken on a candidate’s word. Each signal is pulled from, or checked against, a source the candidate does not control.
Read directly from the platform, never self-reported: solve counts by difficulty, contest history and rating, and distinct active days from server-side submission timestamps.
Repositories, commits, and merged pull requests are read live. An AI reads the actual READMEs, architecture, and documentation to score substance. Students can prove they own the account via OAuth sign-in — a handle typed into a form is not ownership.
Official GATE scorecards carry an embedded digital signature. CandidateRank validates that signature cryptographically before a score is marked verified — a screenshot or typed-in number stays unverified and is treated accordingly. Unverified GATE rows are excluded from the NAAC 5.2.1 export and reported as excluded, never silently counted.
Claimed certifications are checked against the issuer’s public records, with a required name match. Only positive confirmation marks an item verified; a failed lookup leaves it untouched rather than penalising the student.
Publication claims are resolved against Crossref and ORCID, with a venue-legitimacy guard so pay-to-publish outlets don’t buy rank.
CGPA is normalised to the grading scale and weighted proportionally — one signal among many, so grade inflation can’t dominate a rank.
A number can be inflated. A history cannot.
We red-team our own engine. These are real results from adversarial test profiles built to beat it — every shortcut stacked, against an honest profile with less volume.
- 760 problems solved — mostly easy, binged in weeks
- No contest history to back the volume
- Consistency reads server timestamps: a 100-problem binge is still one day
- 510 problems at balanced difficulty
- Real contest record under time pressure
- Months of steady practice — the one thing that can’t be parallelised
- 900 commits this year from a daily bot, mostly empty
- 412 stars traded in star-for-star rings — log-scaled, so they flatten fast
- 62 repos, most forked; zero pull requests merged with anyone
- 320 commits, each tied to real work an AI actually reads
- 61 earned stars across 14 original projects
- 23 merged pull requests — ships with a team
The mechanisms behind these results: exponential difficulty weighting, a contest wall that can’t be faked without participating, consistency bounded by the calendar rather than by hours worked, log-scaled recognition, per-issuer certification caps, and diminishing returns everywhere volume could substitute for quality. And because a coding profile is one signal of several, faking the ranking would mean faking all of them at once.
One engine. Seven disciplines. No shared yardstick.
A single formula for CSE and Mechanical alike measures neither. Each discipline carries its own signal profile and default weights; core branches add evidence types — certifications, competitions, research, portfolio — that the résumé analysis is trained to look for.
CS / Allied IT
ECE
Mechanical
Civil
EEE
Chemical
Biotech
Missing never means zero.
Most ranking systems quietly score an absent signal as 0 — punishing a Mechanical student for not having a GitHub. CandidateRank excludes the signal and renormalises the remaining weights, so the candidate is ranked on the evidence that exists. The reduced coverage is shown on their card, never hidden.
Example: a software-drive candidate with no builder portfolio. The portfolio’s 25% is redistributed proportionally across the three signals that have data.
A band is a threshold, not an opinion.
Every institute dashboard shows how placement-ready its pool is. Those bands are fixed cut-offs on the final score, defined in one place in the code and published here — so the chart, the compliance report and the AI answer are incapable of disagreeing about what “ready” means.
There is one rule that overrides the score. If less than half the weight of a student’s branch signals had any data, they are never called ready — however high the number looks. A 92 derived from a third of the evidence is not a finding, and we will not present it as one. Those students are flagged as needing attention with the reason stated: thin evidence, not weak student. The two need opposite responses, so we never blur them.
The same logic covers students the engine could not score at all. They stay in the denominator. A placement rate that quietly excludes the students nobody has data for is the most flattering number a platform can print, and the least true.
Coverage floor: 50%. Below it, a student cannot hold any band above “at risk” regardless of score.
Rankings you can put your name under
See the engine run on your own batch — every score traceable to its evidence.