What does the number actually mean?
It is a percentile, not an absolute grade. A 70 means roughly 70% of the indexed pool scores below you. Half the pool sits under 50 by construction, which is the scale working as designed rather than a verdict.
How is it computed?
Percentiles all the way down. Every raw metric becomes its percentile rank over the entire pool; each dimension is the plain average of its metrics; a source’s sub-score is the weighted sum of its dimensions; the headline is that composite’s percentile over the pool again. No hand-tuned caps, no opaque model.
The GitHub dimensions and their weights: output 40%, adoption 25%, consistency 20%, influence 15%.
The methodology page draws the whole formula and works a real example through it, arithmetic included.
Which metrics feed it?
output: commits (last 12 months), pull requests merged into others’ repos (last 12 months); adoption: stars across owned repos; consistency: active weeks (of the last 52); influence: followers, code reviews on others’ pull requests (last 12 months).
Notice what those have in common. With the sole exception of the commit pulse, every dimension turns on somebody else acting: a maintainer merging your pull request, a developer starring your repository, someone else’s pull request existing for you to review. Peer validation is weighted over self-signable volume deliberately.
Why is my score lower than I expected?
Usually one of three reasons. It is relative, so you are ranked against everyone indexed rather than against a fixed bar, and a growing pool of strong profiles pushes everyone down. It weights peer-validated work, and its output dimension counts pull requests merged into other people’s repositories, not the ones you merged into your own. And it only sees public GitHub, so years of private or paid work are invisible to it.
A low score means the public, peer-validated signal is thin. It does not mean the work is.
My score moved and I did nothing. Why?
Percentiles are relative, so every profile added to the index shifts everyone else’s rank a little. A score that drops on a quiet week usually means the pool grew around you rather than that anything of yours got worse.
The reverse holds too: verifying an additional account can only raise your underlying composite, but the headline percentile can still drift afterwards, because it is measured against a moving field.
How often does it update?
The whole pool is re-ranked nightly at 04:00 UTC, which is what keeps percentiles honest as the index grows. Claiming a profile or connecting an account recomputes that profile immediately, without waiting for the batch.
Why does my profile show no score yet?
A freshly seeded profile starts as a handle and nothing else. It stays unscored until the backfill fetches its public metrics, at which point the nightly re-rank places it in the pool.
Claiming the profile skips the queue and computes it there and then.
Can I game it?
Not cheaply, by design. Merged pull requests only count in other people’s repositories, and stars, followers, and the reviews you leave all require other people’s work to exist. The one self-signable metric is your own commit volume, and it sits inside a 40% dimension that it shares with external pull requests.
Every metric is also a percentile, so a burst of activity moves you past exactly the people it actually passes, and the pool keeps growing underneath you. The cheapest way to raise the number is the thing the number is for: ship work other developers use.
Will the formula change?
The running version is frozen at v0, decided 2026-07-15. Recalibrating anything, weights included, means a new version file rather than an edit to this one, and every score snapshot records the version that produced it. History is never silently rewritten.