David Rothman (1935-2004) was a pioneer in the sports ratings world, with his rating system being recognized by the NCAA from 1968-2006 as a national championship selector in college football. Here, I use his original system (and nearly original code) to provide an alternative rating. More details at the bottom of the page.
The original text file is available, and below the list of teams is a list of the biggest upsets of the season. Also available, the ranked teams grouped by conference.
David's method considers only scores. Game locations, dates, and any other information is ignored.
Warning! Since David's formula starts every season from scratch, it usually takes 6-7 games in a season for the results to "converge" to something useful. Be careful if you are looking here too soon!
DAVID ROTHMAN'S MENS SOCCER RANKINGS
BASED ON 1636 GAMES BETWEEN 214 TEAMS, AND NO OTHER INFORMATION
THROUGH GAMES OF SUNDAY 01 NOVEMBER 2026
FOUNDATION FOR THE ANALYSIS OF COMPETITIONS AND TOURNAMENTS
----------------------------------------------------------------------------
Rank Team W L T Rating PCT. RRE Conf.
----------------------------------------------------------------------------
1 Georgetown 14 1 1 55.39 .798 .876 BIGEAST
2 SMU 12 0 3 54.85 .794 .854 ACC
3 Clemson 12 2 2 54.27 .727 .827 ACC
4 Indiana 12 1 3 54.24 .723 .826 BIG10
5 Washington 10 3 3 53.47 .662 .785 BIG10
6 Maryland 10 4 1 53.43 .608 .783 BIG10
7 Wisconsin 9 2 4 53.35 .653 .779 BIG10
8 Louisville 11 2 3 53.18 .678 .769 ACC
9 Michigan St. 10 3 3 53.14 .648 .767 BIG10
10 Pittsburgh 9 4 3 53.11 .594 .765 ACC
11 Akron 10 1 4 53.03 .696 .759 BIGEAST
12 Creighton 11 1 5 53.02 .711 .759 BIGEAST
13 North Carolina 8 2 5 52.86 .650 .749 ACC
14 UCLA 7 3 5 52.86 .589 .749 BIG10
15 Rutgers 8 6 2 52.74 .562 .742 BIG10
16 Wake Forest 11 4 2 52.62 .652 .734 ACC
17 Missouri St. 12 1 3 52.58 .732 .732 AMER
18 Portland 9 3 1 52.55 .670 .730 WCC
19 Kansas City 11 3 2 52.46 .655 .724 SUMMIT
20 South Carolina 9 4 2 52.34 .625 .716 SUN
21 UNCW 11 2 2 52.30 .685 .713 COL
22 West Virginia 9 2 4 52.23 .657 .708 SUN
23 Marshall 9 2 4 52.04 .643 .695 SUN
24 Ohio St. 7 6 2 52.04 .540 .695 BIG10
25 Cornell 10 3 2 52.01 .666 .693 IVY
26 Stanford 8 4 3 51.98 .583 .691 ACC
27 Oregon St. 9 4 3 51.92 .620 .687 PAC12
28 San Diego 9 4 3 51.90 .602 .685 WCC
29 California Baptist 12 3 2 51.83 .673 .680 PAC12
30 Xavier 9 2 4 51.82 .669 .679 BIGEAST
31 California 6 5 4 51.79 .535 .678 ACC
32 Notre Dame 7 5 3 51.75 .544 .675 ACC
33 Utah Valley 10 2 3 51.66 .663 .668 BIGWEST
34 Virginia Tech 8 5 3 51.62 .568 .665 ACC
35 Vermont 9 2 4 51.54 .661 .659 AMEAST
36 NC State 5 5 6 51.48 .510 .655 ACC
37 Charlotte 8 3 4 51.46 .614 .653 AMER
38 Bryant 11 2 3 51.45 .673 .652 AMEAST
39 UCF 7 4 3 51.40 .582 .649 SUN
40 Northwestern 5 6 4 51.34 .483 .645 BIG10
41 Virginia 7 6 3 51.31 .530 .642 ACC
42 High Point 9 3 4 51.28 .625 .640 BIGSTH
43 Princeton 7 4 4 51.28 .567 .640 IVY
44 Elon 8 2 6 51.20 .633 .634 COL
45 Furman 7 3 6 51.15 .590 .630 SOCON
46 UC Santa Barbara 9 5 4 51.15 .568 .630 BIGWEST
47 Syracuse 7 7 2 51.13 .520 .628 ACC
48 Marquette 9 5 1 51.09 .591 .625 BIGEAST
49 UC Irvine 10 6 2 51.03 .579 .621 BIGWEST
50 Old Dominion 10 5 1 50.93 .609 .614 SUN
51 UAlbany 9 4 1 50.93 .606 .613 AMEAST
52 Omaha 8 4 3 50.89 .607 .610 SUMMIT
53 Stony Brook 8 1 6 50.89 .667 .610 COL
54 Penn 6 3 5 50.88 .574 .610 IVY
55 Fla. Atlantic 6 2 7 50.86 .592 .608 AMER
56 Memphis 7 4 5 50.86 .574 .608 AMER
57 Fairfield 10 2 3 50.77 .680 .601 METRO
58 UNC Greensboro 5 2 9 50.72 .571 .597 SOCON
59 FIU 6 4 5 50.71 .538 .596 AMER
60 Gardner-Webb 9 4 2 50.68 .623 .594 BIGSTH
61 North Florida 10 4 3 50.63 .595 .590 ASUN
62 Tulsa 8 4 4 50.62 .565 .589 AMER
63 Saint Louis 7 4 5 50.62 .570 .589 A10
64 Boston College 5 6 3 50.61 .473 .589 ACC
65 Seton Hall 6 4 6 50.56 .535 .584 BIGEAST
66 Michigan 3 7 5 50.55 .424 .583 BIG10
67 Duke 6 9 1 50.53 .429 .582 ACC
68 Penn St. 3 8 3 50.52 .379 .581 BIG10
69 James Madison 6 5 4 50.52 .529 .581 SUN
70 Ga. Southern 6 5 4 50.46 .510 .576 SUN
71 Col. of Charleston 7 4 5 50.46 .558 .576 COL
72 Hofstra 9 4 4 50.44 .594 .575 COL
73 Boston U. 8 3 4 50.42 .623 .574 PATR
74 Duquesne 9 5 2 50.42 .593 .573 A10
75 Wofford 8 4 4 50.23 .573 .558 SOCON
76 New Hampshire 7 5 3 50.18 .549 .554 AMEAST
77 Providence 5 6 3 50.15 .475 .552 BIGEAST
78 UConn 7 7 2 50.12 .508 .549 BIGEAST
79 FDU 10 3 3 50.08 .642 .546 NEC
80 NJIT 8 5 3 50.07 .565 .545 AMEAST
81 St. John's (NY) 6 8 2 50.06 .453 .545 BIGEAST
82 San Francisco 6 6 4 50.05 .507 .544 WCC
83 Denver 4 7 4 50.02 .424 .541 WCC
84 Saint Francis 0 0 0 50.00 .000 .539 NOND1
85 Coastal Carolina 5 6 4 49.99 .478 .539 SUN
86 Dayton 8 4 3 49.98 .586 .538 A10
87 CSU Bakersfield 5 4 7 49.96 .516 .536 BIGWEST
88 Central Ark. 7 6 2 49.95 .536 .535 ASUN
89 Delaware 7 4 6 49.94 .558 .535 SUMMIT
90 UNC Asheville 8 5 2 49.93 .577 .534 BIGSTH
91 George Mason 6 6 3 49.90 .502 .531 A10
92 Grand Canyon 10 5 2 49.89 .602 .531 MWC
93 Brown 7 5 3 49.84 .542 .527 IVY
94 Dartmouth 4 6 4 49.79 .464 .523 IVY
95 UNLV 9 5 3 49.76 .581 .520 MWC
96 Massachusetts 6 7 4 49.70 .473 .515 SUMMIT
97 Davidson 5 5 5 49.67 .498 .513 A10
98 Marist 6 3 6 49.65 .567 .511 METRO
99 Cal Poly 6 7 5 49.65 .483 .511 PAC12
100 Quinnipiac 7 5 2 49.53 .557 .502 MAAC
101 DePaul 5 5 5 49.52 .490 .501 BIGEAST
102 Yale 4 6 4 49.50 .450 .499 IVY
103 Evansville 6 8 2 49.49 .464 .498 MOVAL
104 Seattle U 5 7 3 49.48 .464 .498 WCC
105 UAB 5 5 5 49.47 .497 .496 AMER
106 ETSU 7 6 5 49.41 .518 .491 SOCON
107 Bellarmine 7 3 4 49.37 .604 .489 ASUN
108 UC San Diego 7 6 4 49.36 .530 .488 PAC12
109 Liberty 6 7 2 49.36 .479 .488 SOCON
110 Sacred Heart 5 5 7 49.36 .495 .487 METRO
111 Columbia 5 4 5 49.36 .524 .487 IVY
112 William & Mary 7 8 2 49.31 .486 .483 COL
113 Loyola Chicago 8 6 3 49.27 .520 .481 A10
114 Harvard 4 7 3 49.27 .430 .480 IVY
115 Rider 7 4 4 49.27 .575 .480 MAAC
116 Georgia St. 7 8 2 49.22 .467 .476 SUN
117 Kentucky 2 9 4 49.15 .344 .470 SUN
118 American 5 6 5 49.15 .472 .470 PATR
119 Santa Clara 4 8 4 49.12 .419 .468 WCC
120 Drexel 7 7 2 49.10 .505 .467 COL
121 Bowling Green 7 6 2 49.08 .525 .465 MOVAL
122 Cal St. Fullerton 5 9 4 49.05 .421 .463 BIGWEST
123 CSUN 6 8 2 49.03 .460 .461 BIGWEST
124 Belmont 6 5 4 49.00 .528 .458 MOVAL
125 Villanova 5 8 3 48.97 .436 .456 BIGEAST
126 Longwood 7 7 1 48.95 .487 .454 BIGSTH
127 Fordham 6 7 2 48.92 .490 .452 A10
128 NIU 8 5 2 48.85 .564 .446 HORIZ
129 UC Riverside 4 7 5 48.84 .435 .445 PAC12
130 Drake 4 7 4 48.80 .441 .442 MOVAL
131 Rhode Island 7 9 0 48.79 .469 .441 A10
132 San Diego St. 2 7 9 48.76 .409 .439 PAC12
133 FGCU 5 7 4 48.76 .453 .439 ASUN
134 Jacksonville 6 6 3 48.75 .507 .438 ASUN
135 La Salle 5 7 4 48.74 .465 .438 A10
136 Gonzaga 4 9 3 48.70 .398 .434 PAC12
137 Siena 4 5 7 48.62 .479 .428 METRO
138 Bucknell 7 8 1 48.54 .460 .421 PATR
139 Oral Roberts 3 7 5 48.53 .427 .421 SUMMIT
140 St. Bonaventure 5 6 5 48.52 .477 .420 A10
141 Saint Joseph's 5 6 6 48.51 .479 .419 A10
142 Lehigh 5 6 5 48.50 .469 .418 PATR
143 LMU (CA) 2 9 3 48.49 .336 .417 WCC
144 Northeastern 5 7 4 48.49 .449 .417 COL
145 Stetson 5 8 3 48.46 .452 .415 ASUN
146 Winthrop 5 8 3 48.39 .444 .409 BIGSTH
147 Purdue Fort Wayne 4 4 3 48.37 .500 .408 HORIZ
148 Saint Peter's 5 6 4 48.36 .488 .407 MAAC
149 VCU 2 10 3 48.32 .321 .404 A10
150 UMass Lowell 5 6 3 48.30 .482 .403 AMEAST
151 San Jose St. 6 8 3 48.30 .461 .402 MWC
152 Merrimack 4 3 9 48.29 .507 .401 MAAC
153 Lindenwood 7 4 6 48.28 .566 .401 OVC
154 Cleveland St. 6 6 4 48.26 .508 .400 HORIZ
155 LeMoyne 6 4 4 48.26 .567 .399 NEC
156 Milwaukee 6 4 6 48.23 .537 .397 HORIZ
157 UIC 3 6 4 48.21 .429 .395 MOVAL
158 Robert Morris 4 4 6 48.19 .506 .394 HORIZ
159 Niagara 4 6 4 48.18 .441 .393 MAAC
160 Western Mich. 3 8 5 48.17 .388 .392 MOVAL
161 Butler 2 8 3 48.17 .335 .392 BIGEAST
162 Colgate 4 8 4 48.16 .411 .392 PATR
163 West Florida 5 7 1 48.13 .445 .389 ASUN
164 Mercyhurst 5 4 6 48.13 .517 .389 NEC
165 USC Upstate 5 12 0 48.06 .365 .384 BIGSTH
166 George Washington 4 8 4 48.06 .420 .384 A10
167 Houston Christian 6 7 4 48.06 .479 .383 OVC
168 Sacramento St. 5 10 2 48.03 .401 .382 BIGWEST
169 Oakland 3 5 7 47.99 .443 .378 HORIZ
170 Iona 3 6 6 47.96 .435 .376 METRO
171 Wright St. 5 6 3 47.91 .460 .372 HORIZ
172 Saint Mary's (CA) 2 9 6 47.91 .344 .372 WCC
173 Pacific 3 10 4 47.87 .350 .369 WCC
174 SIUE 6 7 3 47.77 .467 .362 OVC
175 LIU 5 7 0 47.73 .456 .358 NEC
176 Binghamton 2 7 6 47.66 .388 .353 AMEAST
177 Radford 4 7 4 47.62 .416 .350 BIGSTH
178 Air Force 4 7 5 47.59 .440 .348 MWC
179 Monmouth 2 8 3 47.56 .342 .346 COL
180 Loyola Maryland 4 9 3 47.56 .397 .346 PATR
181 St. Thomas (MN) 4 8 3 47.56 .410 .345 SUMMIT
182 Queens (NC) 3 10 3 47.55 .341 .345 ASUN
183 Bradley 3 6 5 47.48 .430 .340 MOVAL
184 UIW 5 7 3 47.47 .440 .339 OVC
185 Lipscomb 3 12 1 47.33 .311 .328 ASUN
186 Mount St. Mary's 2 7 8 47.30 .393 .327 METRO
187 Stonehill 5 8 2 47.27 .437 .324 NEC
188 Central Conn. St. 6 8 1 47.27 .474 .324 NEC
189 Temple 2 10 4 47.25 .331 .323 AMER
190 Detroit Mercy 4 8 3 47.23 .398 .321 HORIZ
191 New Haven 3 10 2 47.22 .352 .321 NEC
192 Campbell 1 13 2 47.18 .254 .318 COL
193 Green Bay 4 8 4 47.17 .411 .317 HORIZ
194 UMBC 3 8 2 47.13 .375 .314 AMEAST
195 Mercer 0 12 5 47.01 .264 .306 SOCON
196 Holy Cross 2 8 7 47.00 .383 .305 PATR
197 UC Davis 2 10 5 46.96 .333 .302 MWC
198 Lafayette 3 9 4 46.96 .369 .302 PATR
199 TX Rio Grande 4 6 4 46.95 .445 .302 OVC
200 Army West Point 2 8 4 46.89 .351 .297 PATR
201 Navy 4 8 4 46.85 .409 .295 PATR
202 South Fla. 1 12 3 46.82 .266 .293 AMER
203 IU Indy 3 8 4 46.79 .386 .291 HORIZ
204 Eastern Ill. 4 9 4 46.58 .420 .277 OVC
205 Utah Tech 3 12 2 46.52 .320 .273 MWC
206 Western Ill. 4 9 3 46.46 .403 .268 OVC
207 Manhattan 2 10 2 46.44 .312 .268 MAAC
208 Southern Ind. 3 10 4 46.11 .363 .247 OVC
209 Northern Ky. 1 12 3 45.74 .270 .224 HORIZ
210 Canisius 1 12 1 45.35 .237 .202 MAAC
211 Howard 3 12 1 45.10 .291 .189 NEC
212 VMI 2 12 0 44.94 .240 .181 SOCON
213 Presbyterian 0 14 1 43.37 .146 .114 BIGSTH
214 Chicago St. 0 14 1 42.44 .124 .085 NEC
Explanations:
These rankings use the method developed by David Rothman (1935-2004),
founder of the Foundation for the Analysis of Competitions and
Tournaments (FACT). David's work was a part of college football's
Bowl Championship Series for multiple years. His formula considers
only margin of victory for in-season games (past data, date of game,
and location are ignored).
David's original code was written in BASIC in the 1970s -- the copy
that I have is from November 1990 -- and I have rewritten it in
Python to match the original numbers exactly. The only differences
should be in the formatting of the output.
Columns:
Rating: measures a team's strength by balancing their results against
opponent quality. Ratings are iteratively adjusted until the system
reaches a best fit across the entire season. Includes game scores,
but transformed with a logistic function to give diminishing returns
for running up the score.
Pct: the normalized margin-of-victory for a team's games. Effectively
how well did you perform in games, not counting quality of opponent.
Again, though, Rothman's formula is set up so that blowouts do not add
additional information.
RRE: a team's expected win percentage if we were able to play a full
round-robin schedule among all the teams listed. It's functionally
the same as the Rating, just expressed in a different way.
FOUNDATION FOR THE ANALYSIS OF COMPETITIONS AND TOURNAMENTS (FACT)
DAVID ROTHMAN (1935-2004), FOUNDER
FACT Rankings calculated by Cody Kirkpatrick
talismanred.com/ratings
LEAST LIKELY RESULTS OF SEASON 1 Omaha SUMMIT 0 St. Thomas (MN) SUMMIT 4 0.35 2 Canisius MAAC 5 Merrimack MAAC 1 0.39 3 Cornell IVY 0 Colgate PATR 1 0.44 4 Temple AMER 2 Fla. Atlantic AMER 1 0.46 5 Maryland BIG10 0 Northwestern BIG10 4 0.47 6 FDU NEC 0 LIU NEC 3 0.49 7 South Carolina SUN 1 Georgia St. SUN 2 0.51
I've preserved David's original source code (last update: 1990!!) if you'd like to get it and try it out yourself. In my testing, it has good results for football, basketball, soccer, and ice hockey, so I imagine it would be useful for just about any sport. (That was the point, when he created it.)
David's rankings were part of college football's Bowl Championship Series from 1999 to 2001, but the next year the BCS managers decided to remove margin of victory from all of the computers that were part of the formula. David refused to change, and that ended his BCS run. If you grab the code and want to do a "politically correct" calculation that does not consider margin of victory, you either need to make edits to the code (complicated) or could change all the scores to 1-0, or 2-0, whatever. Serves the same purpose.
If you download his code (link above), and use it, let me know. I'd love to hear about it.
...I use a version of his code that I developed in Python. Why? So that I can run it in my modern workflow. The numbers reproduce exactly (I've checked in multiple sports), even with over 15,000 games, so I hope that David wouldn't take offense to modernizing the hardware. But I absolutely do preserve the math.
