How our composite rating, star ratings and ranks are produced, written from the code that calculates them.
Methodology v2.0 · Rankings updated
Why we're different
Three things most recruiting sites keep closed — we publish them.
/api/v1 and iframable widgets for partners who need JSON or a drop-in board.Our headline Composite Rating (0–100) is the plain average of every source rating we hold for a player, rounded to two decimals. Every source counts equally; there is no weighting table.
A player with no source rating but a star grade from our staff gets a rating from the star alone: 3 stars = 85, 4 stars = 90, 5 stars = 95.
Ratings and ranks are recalculated once a day (12:00 UTC) for every active class, and again for a class after our staff edit its players or publish a ranking update. The Updated timestamp on the rankings pages shows the last recalculation.
Star ratings (3, 4 or 5) are set by our staff after evaluating a player. They are an editorial judgment, not a fixed percentage of each class, so the number of players at each level can vary from class to class. We don't publish ratings below 3 stars.
The Elite badge is also an editorial call by our staff for a small group of the top players we cover. There is no fixed quota per class.
Ranks are counted within one class year, and boys and girls (and each sport) are ranked separately:
Coverage depth varies by state. Arizona and California, our live coverage markets, have the deepest player lists, so their state ranks cover the most players. In other states a state rank only compares the players we have listed so far. Every rank is recalculated with each daily run. See /coverage for the state-by-state tier breakdown.
A Verified blue check is added by our staff once they have confirmed a profile's information. It is not added automatically. Players (or a guardian, for minors) can request to claim their profile; we confirm identity before approving a claim.
Rankings are editorial opinions, but factual errors (wrong school, wrong height, wrong offers) are bugs. Submit a correction on any player profile via the Submit Update button or email tips@offsznnetwork.com. Our staff review each submission, and an approved update can also appear on the player's public timeline.
Disagreements about ranking placement (as opposed to factual errors) are reviewed by our editorial staff — email a detailed case to editorial@offsznnetwork.com.
We cover high school athletes. Profiles never include phone numbers, home addresses, or unverified private information. Any athlete (or guardian) can request profile removal with our tracked removal form (or by emailing privacy@offsznnetwork.com). We act within 7 business days. For under-13 accounts, guardian claims, and public vs private data in plain language, see Youth safety.
Club / AAU programs are ordered by a score built from four signals, all taken from the current (non-alumni) players listed with the club: peak talent (30%) — the highest star rating on the roster and how many players are rated 4 stars or more; roster quality (25%) — the average star rating; college pipeline (25%) — the share of those players who have committed or signed; and roster size (20%) — the number of players, counting fully at 50. The program directory lists clubs in this order but doesn't show a rank number or score.
The order updates as players' club listings and star ratings change. Circuit affiliation (EYBL, 3SSB, Adidas or independent) is not an input to the score.
Every source rating that counts toward a player's composite is shown with the source's name on the rankings board: open a row's source comparison, or switch the board to the industry comparison view.
See it in action
Rankings are only as good as the data. Submit a correction on any profile or email us directly — verified corrections land on the player's public timeline.