How the ratings work
One number per team: the goal margin we'd expect against an average rated team on a neutral field. A +1.50 team would beat a 0.00 team by a goal and a half on average.
The model
We use a Massey-style least-squares model on goal margin. For every game, home rating − away rating + home advantage should equal the final margin. We find the ratings that make that true as nearly as possible across every game at once.
- Margins are capped at ±4 goals, so a 9–0 counts the same as a 4–0. Games decided on penalties count as draws.
- Rotated lineups in cup games. Pro clubs often rest regulars in the U.S. Open Cup and USL Cup. For every cup game we check the pro side's starting lineup against its 11 most-used league starters that year. How much a rotated lineup costs is estimated from the results themselves, starting from "no effect": currently 0.78 goals (±0.51) for a lineup with no regulars at all, measured over 299 cup games. A win against a full-strength lineup counts in full; amateur sides are never discounted.
- Home advantage is estimated from the data: currently 0.27 goals. Neutral-site games get none.
- Recent games count more. A game's weight halves every 274 days (about nine months).
- New season, partial reset. Year-round and pro teams' games from before their last offseason (a break of more than two months) count 40% as much, so a new season pulls ratings part of the way back to the league average. We tested the same for the summer college leagues and it made predictions worse: strong USL2 and NPSL programs tend to stay strong from one summer to the next.
- League prior. Each team is pulled a little toward its league's average, as if it had also played two games against an average team in its own league. This matters for amateur teams that play 10–20 games, nearly all within their own league. Without it, a team that goes unbeaten against weak opposition would be rated like a pro side.
Comparing leagues
A league's average is set almost entirely by the games its teams play against other leagues: the U.S. Open Cup and its qualifying rounds, the USL Cup, the USASA National Amateur Cup, and state cups. The few teams that play those games carry information for their whole league. Where those links are thin, the uncertainty is wide, and we show it.
| League | Average | Uncertainty vs UPSL |
|---|---|---|
| Major League Soccer | +5.07 | ±0.8 |
| USL Championship | +3.55 | ±0.57 |
| USL League One | +2.47 | ±0.58 |
| MLS Next Pro | +1.74 | ±0.93 |
| National Premier Soccer League | +0.40 | ±0.41 |
| USL League Two | +0.39 | ±0.38 |
| The League for Clubs | +0.14 | ±0.54 |
| United Premier Soccer League | -0.36 | – |
| American Premier Soccer League | -0.72 | ±0.37 |
Pro and amateur, summer and year-round
Only the top three divisions are official: MLS (Division I), the USL Championship (Division II), and USL League One and MLS Next Pro (Division III). Everything below is unsanctioned amateur soccer. USL League Two and the NPSL (May to August) and The League for Clubs (March to July) play one season a year, built largely around college and U23 players; the UPSL and APSL are national year-round adult leagues with fall and spring seasons. Regional leagues such as the Cosmopolitan Soccer League (New York) are rated too, but a league whose teams never play anyone outside it is only rated internally and left out of the overall rankings. They share one scale because their teams meet in the Open Cup, the National Amateur Cup and state cups, but the rankings can be split by season type, and teams in one-season leagues are marked as out of season between seasons.
Clubs often field squads in several leagues at once (for example a USL2 summer side and an APSL year-round side). Each squad is rated separately because the rosters differ; the club page brings them together.
Data rules
- Every result counts as the league reports it. We use the score the league publishes and never second-guess it.
- Clubs that change leagues are rated as separate teams for each league spell, joined by a weak link worth about half a game. Clubs that field sides in two leagues at the same time are kept fully separate.
- Minimum games: teams need 8 games for the top-25 tables and Instagram posts. Teams with 3–7 games are listed in the rankings as provisional. Everyone is still rated and has a team page.
- Team identity: names are matched across sources automatically, and uncertain matches are reviewed by hand every week.
Predictions
A prediction starts from the expected margin, which is the rating difference plus home advantage. Win, draw and loss chances come from the model's typical error of 1.69 goals around that margin. The draw band is tuned so that the predicted draw rate matches the real one (17%). The expected score comes from separate attack and defense ratings, rescaled to agree with the margin. Every published prediction is tracked on the accuracy page.
In a backtest, the model was fit on games before 1 July 2026 and asked to predict the 1,597 games that followed. It picked the winner of decisive games 66% of the time, and its typical error was 1.95 goals.
Sources
ESPN (MLS, USL Championship, USL League One, U.S. Open Cup, USL Cup) · American Soccer Analysis (MLS Next Pro) · Modular11 (USL League Two) · theleaguefc.com (The League for Clubs) · premier.upsl.com (UPSL) · TeamPass (APSL, Cosmopolitan Soccer League) · Wikipedia (Open Cup qualifying, NPSL playoffs) · TheCup.us (National Amateur Cup) · Eastern Pennsylvania and Maryland state associations.
Known gaps
NPSL regular season, CASA, the New Jersey, New York, Connecticut and Massachusetts state cups, and USL Pro Academy aren't in the data yet. Missing data mostly makes the league comparisons less certain. If you can point us to results, get in touch.