# FRC Elo Ratings - Updated Live During Championships.

Introduction

Hello, everyone.

I have been interested in FRC ranking/rating systems for several years and have developed a website that calculates and displays Elo ratings for every active FRC team. The website in its current iteration can be found here: https://carlcolglazier.com/frcelo/

Barring any technical difficulties, the ratings should update every ten minutes during Championships. I also plan on using the predictive abilities of Elo ratings to calculate ranking probabilities. This feature will likely be finished at some point this weekend.

The source code that runs the website is public under an MIT License on GitHub.

Methodology

A mathematical description of the model used for the ratings can be found here.

TL;DR: teams are rewarded for performing above expectations and punished for performing below expectations based on score margins.

Some Ranking Examples

Here are the rankings for the top one hundred teams computed by the method described above. All of the ratings, of course, can be found here.

Top 100 by Elo Rating
[spoiler]

``````
1. frc254   481.368
2. frc2481  374.464
3. frc1986  372.644
4. frc1678  371.402
5. frc118   370.560
6. frc2056  356.639
7. frc195   345.838
8. frc1619  338.527
9. frc3663  337.990
10. frc1574  337.477
11. frc33    330.786
12. frc2168  328.942
13. frc987   328.246
14. frc3130  321.549
15. frc3309  320.088
16. frc2122  313.921
17. frc971   313.737
18. frc4143  313.456
19. frc330   308.713
20. frc1730  299.698
21. frc1114  298.423
22. frc303   295.066
23. frc2046  291.412
24. frc610   290.578
25. frc1923  288.021
26. frc604   287.586
27. frc3255  286.082
28. frc948   285.741
29. frc1807  285.740
30. frc180   284.634
31. frc148   284.373
32. frc973   282.813
33. frc2791  282.259
34. frc2848  276.080
35. frc1538  275.656
36. frc876   275.489
37. frc71    274.009
38. frc4536  273.404
39. frc3937  272.690
40. frc16    271.461
41. frc3419  270.858
42. frc4976  270.688
43. frc3824  270.399
44. frc3015  270.106
45. frc469   267.923
46. frc78    267.493
47. frc1255  267.170
48. frc384   265.633
49. frc3238  265.539
50. frc1595  261.976
51. frc1806  260.791
52. frc399   259.894
53. frc4613  259.122
54. frc3230  258.471
55. frc5172  258.426
56. frc2875  258.210
57. frc3310  257.228
58. frc3005  256.996
59. frc3284  256.125
60. frc1732  255.403
61. frc2974  255.116
62. frc4028  255.105
63. frc2614  255.061
64. frc4451  254.451
65. frc4488  254.088
66. frc2052  253.428
67. frc2073  253.228
68. frc3538  252.750
69. frc1477  252.222
70. frc2512  251.666
71. frc5499  250.100
72. frc3132  249.731
73. frc2164  249.618
74. frc694   247.914
75. frc340   247.592
76. frc4941  247.554
77. frc2590  246.606
78. frc1507  246.035
79. frc2992  245.705
80. frc179   245.533
81. frc4561  245.475
82. frc222   245.109
83. frc2410  244.879
84. frc3528  244.867
85. frc135   244.756
86. frc4334  244.684
87. frc2062  244.460
88. frc1746  243.925
89. frc494   243.744
90. frc1690  242.995
91. frc2363  241.800
92. frc3793  241.208
93. frc3683  239.855
94. frc379   239.297
95. frc4253  238.479
96. frc272   238.400
97. frc1885  237.608
98. frc3256  237.206
99. frc2767  237.139
100. frc333   236.802

``````

[/spoiler]

I would be reneged if I did not use my favorite North Carolina teams as an example.

Rankings of NC District Teams
[spoiler]

``````
81. frc4561  245.475
125. frc587   227.700
252. frc2642  198.126
254. frc3196  197.727
320. frc5190  186.731
332. frc1533  185.170
381. frc435   179.063
499. frc3402  168.267
560. frc2682  162.438
588. frc3737  159.394
672. frc900   152.394
693. frc4935  150.906
897. frc3229  135.298
944. frc5511  131.685
1023. frc6004  126.742
1118. frc2059  121.943
1143. frc6003  120.247
1164. frc2640  119.144
1304. frc6500  111.544
1323. frc6332  110.407
1332. frc5160  110.030
1426. frc4290  104.732
1522. frc3459  99.011
1531. frc5854  98.620
1584. frc5544  95.670
1595. frc4816  94.825
1636. frc5518  92.085
1743. frc4534  86.180
1814. frc3506  81.905
1873. frc3331  78.421
1896. frc4795  77.270
1926. frc4291  75.416
1961. frc6729  72.474
1986. frc2655  70.975
2117. frc3796  64.525
2148. frc1225  61.660
2159. frc6502  60.565
2193. frc3845  58.389
2217. frc5679  57.195
2421. frc6240  44.368
2488. frc3215  39.752
2494. frc6639  39.284
2501. frc3336  38.903
2608. frc4829  33.010
2631. frc3971  31.649
2708. frc6214  26.052
2712. frc4767  25.738
2849. frc5607  14.311
2981. frc5919  1.561
2987. frc6565  1.182
3003. frc3822  -0.624
3013. frc4828  -1.338
3054. frc5727  -5.700
3194. frc6512  -25.458
3212. frc3661  -28.929
3223. frc6215  -31.046
3268. frc5762  -39.493
3305. frc6426  -64.332
3312. frc3680  -70.036

``````

[/spoiler]

Thanks and Acknowledgements

Special thanks to Caleb Sykes upon whose optimizations much of the system is based.

*Thank you to everyone who takes a look at these ratings and remember that this is all for fun. *

Enjoy!

Neat!

Suggestion for this and any other purely statistical analyses that people invent: offer an option to filter teams by district. Offering that option would make it a lot easier to compare these results to the “eyeball test” for people in districts.

I’m extremely excited about this and was happy to provide the research into the model foundation. I think sites like this and divisions.co provide data in a much more digestible way than does my scouting database, which I think is great.

In case anyone is wondering why the Elo ratings on this site differ from the Elo ratings I post, there are two key differences:
Carl’s ratings give new teams a rating of 0, while mine gives new teams a rating of 1350. While I agree that starting from 0 makes more intuitive sense than starting at 1350, I chose the pseudo-mean of my system to be 1500 in order to remain in line with most other Elo systems. It doesn’t really matter though since only the differences in ratings are used to make predictions.

Carl’s ratings begin calculation in 2002, while mine begins in 2008. I chose 2008 as a starting point because there are some big gaps in 2007 data. This also shouldn’t matter long term since all of our ratings should converge (with the 1350 offset of course).

Altogether, my ratings are roughly 1400 points higher on average than these ratings.

Great work!

Update (2017-04-19)

I have updated the website to include rank predictions and simulated results. The system runs 10,000 simulated future versions of the event and tallies each team’s average rank score, average rank, and the percentage of outcomes where teams end up in the top seed or in an alliance captain position.

I think it will be fun to watch these simulations update as the matches are played.

The ranking point predictions seem to be on the low side. Do you account for pressure/rotor ranking points at all or just the WLT ranking points?

The current ranking point predictions are based only on WLT, but pressure/rotor ranking points will become more of a factor as more matches are played.

This is a really neat metric…

Would it be feasible to represent this data so we could see how the top 5 or 10 teams ratings have changed over the last few years?

The site is updating once again for the Championship event in St. Louis. Simulations are running for each division.

great start, however I have trouble believing some of these predicted rankings (this may be because it is the start of the St.louis champs). It may be me, but for the most part I feel Michigan teams rankings may be a bit inaccurate. I have trouble believing teams like 469(ranked 32) (although good) are so much better than teams such as 67(ranked 141) or 2834 (ranked 319). However I will continue to look at the web sight to see if these anomalies are straightened out over the coarse of the comp