Above are the graphs from the Boys MITCA race this past weekend. The line hits the y-intercept at 943, so the adjustment is 54 seconds faster than AF2018.
So for Brendan Favazza, the formula is:
(1560-(931.1+54))/3 = 191.6
He won the race, one loaded with all-state talent. THIS DOESN’T MAKE ANY SENSE. IT SHOULD BE HIGHER.
Here is the problem with the graphing method. It assumes that the field you’re comparing is equal.
Allendale Falcon is a pretty fair representation of an invitational. MITCA is not. Neither are States or Regionals. The faster runners are competing and many below our top sevens are not. The line for these races ends up trending towards too low of a number.
That’s where I use REFERENCE RUNNERS.
This late in the year, there are 35,000+ performances from either boys or girls, on average of about 6-7 rated races per runner. There is a built in expectation of one’s rating, and that’s what I used to determine the adjustment for MITCA.
Name
MITCA Time
Unadjusted Rating
Name
2019 Rating
Difference
Aidan
Hollandsworth
19:35.2
128.3
Aidan Hollandsworth
162.9
-34.6
Akshay
Reddy
16:44.3
185.2
Akshay Reddy
194.4
-9.1
Alan
Atkinsmith
17:37.0
167.7
Alan Atkinsmith
169.4
-1.7
Alex
Lawhorne
20:18.1
114.0
Alex Lawhorne
135.5
-21.5
Alex
Mathews
19:14.9
135.0
Alex Mathews
151.2
-16.2
Andrew
Daniels
19:13.7
135.4
Andrew Daniels
140.6
-5.2
Andrew
Grier
19:43.5
125.5
Andrew Grier
117.8
7.7
Andrew
Lane
15:56.1
201.3
Andrew Lane
204.5
-3.2
Andrew
Nolan
15:44.7
205.1
Andrew
Nolan
207.5
-2.4
Andrew
Sesti
16:20.9
193.0
Andrew Sesti
194.9
-1.9
Armaan
Lehal
21:56.1
81.3
Armaan Lehal
98.8
-17.5
Austin
Aldrich
19:06.8
137.7
Austin Aldrich
159.3
-21.6
Austin
Smelker
17:51.8
162.7
Austin Smelker
173.2
-10.4
Bo
Anderson
18:48.8
143.7
Bo Anderson
151.9
-8.1
Braxton
Shutko
19:03.7
138.8
Braxton Shutko
147.5
-8.7
Brendan
Favazza
15:31.1
209.6
Brendan Favazza
216.7
-7.1
Brenden
Schroeder
17:58.3
160.6
Brenden Schroeder
176.6
-16.0
Brenden
Wallace
20:59.6
100.1
Brenden Wallace
118.0
-17.9
Bryce
Brown
17:07.6
177.5
Bryce
Brown
178.3
-0.8
Bryce
Mathews
18:53.9
142.0
Bryce Mathews
142.8
-0.7
Here, I am determining how much slower Shepherd ran compared to the average rating. I had 143 matches, showing Shepherd was 7.9 rating points slower than the average rating.
But as with the graphing method, I want to eliminate outliers. Taking the average of the data points between the two lines, Shepherd ran 7.3 points (or 22 seconds slower) than the average rating.
So again, for Favazza:
(1560-(931.1-22))/3 = 217.0
Personally, I prefer using the graphing method first, especially in larger fields. We’re blessed here to have large meets opening the season, such as your Ann Arbor Early Bird, Pete Moss, Corunna, Portage Early Bird, or Under the Lights. Those help set a standard for using reference runners to begin the season. For the record, reference runners were the primary method used for Regionals and State.
Seth is a great follow for NBA stats in non-numbers way.
Came across this tweet the other day and it hit me pretty hard. Although I’ve posted a few times my methodology, it sometimes feels the word isn’t getting across. Which is 100% my fault, not that I’m seeking sympathy, but just giving myself an honest appraisal. I can explain it to myself in my head and in person to others, but usually in a convoluted ramble.
I’ll go into why times DO NOT matter but they really do kind of matter in a bit, but first a reminder of how ratings are created:
Boys Allendale Falcon 2018 X axis = number of runners Y axis = time (in seconds)
On my summer post, I mentioned how I was looking for a baseline. It wasn’t a Eureka! moment, but Allendale Falcon 2018 seemed to fit the bill. In comparison between that race and MIS 2018, the difference between the two ratings was very minimal (on both boys & girls), stdev of that difference also low.
AF 2018 was the baseline for races this year. It may be the baseline for races next year. Other reasons I like it are that it’s in the middle of the season, reasonably healthy competition, and has a large sample of runners.
That large sample helps smooth out the graph. The graph is an S-curve, which you’ll get in almost all races. Extend that out to almost 500 runners, it gives you some pretty identifiable patterns. I drew a line through the mid-section of runners. Why the mid-section? These are your “average” runners, and with a greater number/less variability between “average” runners, one can begin to make an assumption between the difference between two races.
That line hits the Y-intercept at 997 seconds. Invitationals of a decent size (>150) and of comparable quality can then rated against this.
Here’s the graph from Holly this year:
Holly’s line hits the Y-intercept at 1031 seconds. The difference between the two is 34 seconds, and that is the course adjustment FOR THAT DAY. There are some drawbacks to merging races across a day, but I’m strapped for time as is, so that’s what we’re going with for now.
So, Carter Solomon ran 15:26.3 at Holly. 15:26.3 = 926.3 The formula for ratings calculation is: (1560 minus (time minus adjustment))/3 (1560-(926.3-34))/3 = 222.6
You may notice his rating this year was 221.6. AF2018 was listed in 2018 as 3 seconds faster than the baseline that year. I decided to try to keep the numbers consistent through the years, so the formula for Solomon’s race was actually (1560-(926.3-31))/3 = 221.6
TIMES DO NOT MATTER
Let’s say someone missed a turn at Holly and led everyone on a path to make the course 300m long. Every single runner in the boys races added exactly a minute to their time. Carter Solomon runs 16:26.3 in this example. Here’s the graph:
The line hits the Y-intercept at 1091 seconds. 1091-997 = 94. With the 3 second adjustment, then the difference is 91 seconds.
16:26.3 = 986.3 (1560-(986.3-91))/3 = 221.6
You can repeat this exercise for adding 10 minutes, 3 hours, subtracting 5 minutes.
A runner’s individual time, independent of everything else DOES NOT MATTER.
But you said time does matter. Yes, it does. The time it takes a runner to finish a course in and of itself doesn’t. The time it takes a runner to finish a course compared to other runners on that same course the same day does matter. For every runner in every race ever run, there is a time differential between that runner and every other runner in the race (this is the reason you can still make ratings if you start the clock when the first runner crosses the line – it would just be in a different format).
Comparing runners against one another
Athlete
Team
Holly
Difference (WS vs Others)
Peter Baracco
Farmington
987.8
-73.9
Adam Hill
Royal Oak
1006.6
-55.1
Connor Myatt
Royal Oak
1077.3
15.6
Jakar Dhillon
Bloomfield Hills
1057.2
-4.5
Weston Schroeder
Royal Oak
1061.7
0
Ian Dunn
Farmington
1065.1
3.4
Kemp Winkler
Royal Oak
1046.9
-14.8
Kevin Miller
Farmington
1077.9
16.2
Bryan Hanes
Royal Oak
1049.1
-12.6
Jack Rickle
Royal Oak
1081.9
20.2
The chart here shows 10 runners that ran at Holly. Third column is their time in seconds, fourth column is the difference between their time and Weston Schroeder’s time. Adam Hill ran 55.1 seconds faster than Schroeder here.
Now at the OAA White Jamboree the next week:
Athlete
Team
OAA White 2
Difference
Peter Baracco
Farmington
1001.5
-59.5
Adam Hill
Royal Oak
1009.1
-51.9
Connor Myatt
Royal Oak
1046.1
-14.9
Jakar Dhillon
Bloomfield Hills
1046.6
-14.4
Weston Schroeder
Royal Oak
1061.0
0.0
Ian Dunn
Farmington
1061.2
0.2
Kemp Winkler
Royal Oak
1068.3
7.3
Kevin Miller
Farmington
1069.2
8.2
Bryan Hanes
Royal Oak
1071.6
10.6
Jack Rickle
Royal Oak
1085.3
24.3
Same format as before, now Adam Hill ran 51.9 seconds faster than Schroeder. Now Adam’s rating would still being higher, having run the faster time. But relative to one another between races, Schroeder would cut the gap between the two.
This is a tiny example of using reference runners. That is a different, yet still viable method of rating. I’ll get into it next week, but I believe around 100 runners ran at Holly and OAA White 2. The average time difference between the two had OAA White 2 around 24 seconds faster than Holly.
SUMMARY (or just a section where I use another source that might explain it better)
I’m stealing this from the Godfather, TullyRunners. Meylan’s explanations are much longer but cover all the bases:
Well, it’s been a grind, but I’ve gotten through this year in one piece. This couldn’t be done without support from others. I have an undying desire to crunch numbers, analyze data, and perform comparisons. That would likely wane without the response from others. The tweets, likes, messages, and all-around curiosity keeps me motivated.
Background
Speed ratings became an idea way back in 2007 when I was
helping my uncle coaching at Woodhaven. At
the time, I was an avid Dyestat poster and knew of a fellow forum member doing
the same thing out in Washington. For a
season, I was spitting out ratings and rankings and posting on the chaotic MLive
forums (RIP). Although I’m in all
accounts a nerd, at that time I had little computer knowledge, it became
impossible to balance ratings/life/running/school.
In 2017, I came into work one day at Hansons and found that the
person closing the night before had left a list of times from other schools
competing for that D1 state title. Comparing
times is no way to evaluate cross country. School was out of the equation, I’m definitely
not running as much, so why not? This is
something I’ve wanted to do, forgot that I wanted to, remembered about, then
had the impetus to get it going again.
The Site
Not a blog. If it
were a blog, you’d know my personal thoughts on “issues”. Heck, if you follow my twitter, you’re unfortunately
privy to my thoughts on issues. I’m
never wrong and have to get the last word in, oh well.
Anyhow, the site was launched in August 2018. Enough of the story, you’re getting stats:
Month/Year
Views
Visitors
August 2018
2,281
958
September 2018
4,657
1,607
October 2018
4,391
1,326
August 2019
15,091
3,835
September 2019
18,507
3,799
October 2019
32,493
5,870
Season
Views
Visitors
XC 2018
11,329
3,891
XC 2019
66,091
13,504
Visitors are likely the better metric in tracking growth (more
content, more individual page views).
2018 vs. 2019 = 3.47x visitors, 5.83x page views.
I should also mention this site will NEVER partner with a RunnerSpace
or a MileSplit. Not that there were any
offers. I value my independence and that
stubbornness would be an issue.
Accuracy
An area I struggle with is getting across is that the
ratings and projections are not predictions.
They’re not the determining factor in one’s team. They’re just another data point, one using
past results, to hopefully compare one performance against another. One performance then becomes many
performances, those many performances turned into what I look to be an accurate
depiction of how championship races will score.
How accurate were the ratings in 2019?
Category
2018 Overall
2018 %
2019 Overall
2019 %
Team Qualifiers
188 of 216
87.0%
190 of 216*
88.0%
Individual Qualifiers
881 of 1080
81.6%
892 of 1080
82.6%
All-State
191 of 240
79.6%
187 of 240
78.3%
Proj. Place vs. Actual Place
2.35 place difference
2.27 place difference
*(eliminated
those additional qualifiers for comparison sake, but I did have 2 of the 3
finishing 4th)
Improving on three of four ain’t bad. But you know me, I’m competitive, especially
with myself. I’ll keep plugging away in
order to get those numbers higher.
What’s often is heard is that Americans love the story of
the underdog. Miracle on Ice, 1969 Michigan
vs. OSU (can we get a repeat of that, please?), I might even throw MSU’s Big
Ten winning girls XC team into that mix.
I love when the projections are wrong, it gives greater life to the stories
of runners like Jason Millis and Anna Petr, coming through in the final stretch
of their final races for their teams.
The projections can’t capture the heart and the tales of great
performances. That’s perfect.
Stories
In all, there were 50+ races projected this season. Initially, I believed I could review those
immediately, very soon I learned that just wasn’t going to happen. We have a long, arduous winter ahead of us,
and what better to do but look back at those races, interspersed with the
stories of those who competed.
I’ve had many interactions with coaches, parents, supporters,
and athletes over the season. We often
lament kids for what we perceive to be negative attributes, they’re the same as
when we were kids. They have more
stimuli, more expectations, less time, more stress. Yet they’re still out here training and
hitting pain levels in races that we wouldn’t dare experience. Their stories need to be told.
MGoBlog, Spencer Hall, and The Athletic are some of my favorite online reads when it comes to sports. I grew up listening to Keith Jackson call college football games. Here you get Spencer Hall writing about Keith Jackson. I can’t even read the entire article without getting emotional. Can I write on that level? Probably not. Will I try? Yes.
You ever listen to those old British announcers calling a
track meet? I can hear it now, “Baumann’s
a whiiiirlwind on the last lap”, “Gammoudi is bankrupt, so too is Prefontaine”. Numbers and facts are great, but we can do a
better job of crafting a tale.
Logo
The site desperately needs a unique logo. With zero design experience, I’m opening this
up to you. I’d prefer it to be minimal,
but announce that the site is covering XC in Michigan. If there are enough submissions, I’ll make it
a contest. If you win said contest, you’ll
get free t-shirts/hats/hoodies/other swag.
Yes, I want to make shirts.
This leads me to…
Money
I will likely place ads on the site. I really want to be careful with this, for
two reasons. One, they get in the way of
everything and diminish the online experience.
Gaudy and cumbersome ain’t gonna happen, minimal will be the way to go. The
other is when runners see ads on a site, they see ads for buying running shoes
online. You really need to go support
your local running shop. If the ads
start to head into that realm, I’ll pull them.
But I’m an adult, there’s bills to pay, and operating this is a major
opportunity cost when it comes to earning money.
The hope is at some time get to a point where there’s a subscription,
but the content isn’t there yet. See
kenpom (easiest $20 spent every year), UMHoops for examples.
If you want, you can always donate. I have a paypal link in the bottom right
corner. That money will go towards
awards (more on that tomorrow). Since I’ve
been running for awhile and work at one of those local running shops, the
awards will be various items that I find useful and humorous.
Winter Projects
Figuring out how to code
If I can find a way to cut into the time needed to produce ratings, they’ll be done more accurately. Manually pulling results, compiling them, then graphing takes a little time. I’d like to find a method that does this all a bit quicker. This would also help in the whole website building world.
Finding a suitable Monte Carlo simulator
Monte Carlo simulations take the speed ratings and then generate thousands of projected races given those ratings. It’s something that gives added value to a consistent runner and takes into account someone who alternates “good” and “bad” races. When you simulate thousands of examples, it helps to eliminate the sample size issue inherent with many of the projections.
Evaluating incoming freshmen, year to year
improvements, track times
You won’t be seeing middle school ratings. But they’ll secretly be done in order to fully
get a grasp of what we can expect from newcomers. My assumption is that there’s more
variability in the length of middle school courses. I did work on year to year improvement during
last winter, but I think I have a better method for determining that this
year. Same with how to add track times
into the preseason projections. Why do all
this?
Regional suggestions
There’s no way Pittsford girls or Pinckney boys should miss
out on the state meet. When you’re
arguably a top-10 team in the state, you should be running in November. I know there are other many other
considerations. We’ve improved from the
days of Pioneer, Huron, Saline, Bedford, and Monroe being in the same
region. I know you can’t quantify summer
training and coaching. But maybe we can
nail down who is expected to be good and have a good baseline to go from to
ensure the best 27 teams are competing on the first Saturday in November. I’d love to get in that site selection room
at some point. Maps and XC? You’re really not gonna find a guy more
interested in the two than I am.
Sub 5/Sub 6 Challenge
Found this on ILXCTF and figured it would be a good idea for Michigan. Will release details on that before indoor track starts up.
Thanks for reading all of my rambling. As I stated, this little project of mine
wouldn’t be where it is without you. And
obviously, as I interact with so many, you get a voice. Please e-mail or message me with suggestions,
concerns, encouragement. I listen even
if it’s not immediately apparent.
I will take a little, tiny break from content, but I’ll be back to evaluate the MITCA race, who to look for at MidEast MOC, and I’ll scout as much as I can so we can get as many FootLocker qualifiers as possible.