Jump to content

MongooseMan

Members
  • Posts

    953
  • Joined

  • Last visited

Everything posted by MongooseMan

  1. One of those fancy insta360 handlebar selfie sticks with the board on the end 👌😂
  2. Doing it, but more for the final race sharpening than seeding. Fingers crossed it's less of a ****show than last year 🤞
  3. 3:01:00 = 53.23 3:08:52 = 61.26 (likely some rounding error) Edit: Time to index conversion for 99er:
  4. Ended diving deep into the seeding calc rabbit hole, wrote a bit of a thesis 🙈, feel free to have a read, hopefully it's helpful 😀
  5. There's been a bunch of chat following Winelands and 99er about "low betas", seeding calcs, how to move up, etc, etc. I've done some reading on the PPA website about how seeding works, and I thought some worked examples, with explanations, might be helpful, so here goes. If you want to argue with me, fine, but please do it with maths, not with "I feel like 'x'". I'm basing this purely off the logic as laid out by PPA, which I assume they follow. I'm also 99% sure my maths is right, but correct it if you see a glaring error. I'll work through the PPA page point by point, noting where they no longer use certain points. 1. Ride weighting This seems to have fallen out of use. From everything I've seen since starting riding in 2020, your best index result, after penalties, contributes 100% to your seeding. 2. Establish a base event Unclear exactly how this contributes, but as they states this is the last CTCT, we'll just go with it (becomes more obvious in the Tadej example below). 3. Calculate adjusted wining times and beta for a race This is the crux of the matter, and where most of the discussion lies. There's a false perception that both of these steps are subjective, and the main point of this post is to show how they are not. I also strongly believe that PPA does themselves a massive disservice by labelling beta as "difficulty" since this suggests some subjectivity, which it very clearly does not. It's all too easy for anecdotal "I felt this race was harder than that race" to enter into the discussion, where it actually has no basis in the actual calcs, as we will show below. The goal of this step is to say "on average, a rider coming into an event with index of 'x' should get an index of 'x for the event" (read that a few times, it's important). Obviously, hundreds/thousands of riders do an event, and it's not mathematically possible to fit a line such that everyone's index remains the same. (Also, then your index would never change, which is obviously undesirable). That's where the linear regression comes in. Sounds complicated, really isn't, you just let Excel do it for you. An important point to note is that, in a race with a beta of 1 and where the winner of the race had an index of 0 before the race, your index will represent the percentage over the winning time. (Eg: winner takes 200 minutes, you take 220 minutes, you did 10% more, your index is 10. If you take 300 minutes, you did 50% more, your index is 50). Let's work through some examples to see how it plays out. For all examples, we're going use the fictitious "Tour de Bikehub" as our event. Assume only 6 riders, since that's easier to comprehend the maths. The indexes shown in the tables represent seeding indexes prior to the event. Times are represented in minutes to make things easier to math. The base case In this case, the winner had an index of 0, and did 150 minutes. Everyone else, conveniently, did exactly their index worse (so the person with an index of 10 did 10% worse, or 15minutes worse = 165mins). We can plug those times and indexes into excel and draw a chart, with index along the x-axis and time on y-axis Excel then allows us to draw a linear trendline through those points, and to plot the equation of "y = mx + c" (high school maths reminder: m = the gradient/slope of the line, c = the y-intercept, which in this case is the "predicted winning time of a 0-indexed rider") We can pull those values out as well using the "LINEST" formula in excel For our purposes, "c" represents the "adjusted winning time" we're familiar with. We need to do a little maths on "m" to get to "beta", but it's not hard: beta = m/c * 100 (which in this case equates to 1). So we now, for this event, have a beta of 1, an adjusted winning time of 150mins. We can then proceed to step 4, and calculate new indexes for all riders: New index = (Time / WinningTime - 1) / Beta * 100 If we do that for each rider, we get: Nothing changed. As expected, because this was the base case, where the best possible seeded rider won and everyone else performed to expectation. But hopefully now we understand the maths, so let's go to example 2. Example 2: Missing elites Let's keep the same cohort as the last example, and the same times, but this time let's say the rider seeded 0 doesn't rock up. So the rider seeded 10 wins, and does it in the same time they did in example 1: Doing the same excel gymnastics as last time, we get this chart: And these params: Which all looks quite familiar? Again, this is expected: the winning time is adjusted down to what it would have been if a 0 index rider had shown up. The beta, however, remains unchanged at 1, since the performances relative to that time are in line with the index expectations. So we, again, don't have any index changes: Example 3: The slow day Let's assume the race was just really slow, and the times look like this: Chart: As you can see, some dots are above the line, some are below. In general, those above the line won't improve their index, those below the line will. We end up with a huge beta of 1.87 (since in general riders were well over the "x% more than the winning time" index heuristic) and riders C and E improved their indexes by finishing "below the trendline" Example 4: The monster in Group D Let's now assume the monster rider A decides to drop back to D, and pulls all his mates to a faster finishing time. They improve the D time from 195mins to 175mins (they catch C, who started 5 mins before them), everyone else remains the same (so B wins again). Our chart and params now look like this (note how far some points are from the trendline now): As you can see, this leads to a slightly adjusted winning time, but a very low beta (shades of 2024 Tour de PPA here). This helps B, C, and D, but is penal for E & F. Fun example: Tadej comes to town It's also possible for the winning time to be adjusted up. Imagine Tadej (who doesn't have a Racetec chip, or a PPA seeding index) decides to come do the Tour de Bikehub. He obviously smashes everyone, including the 0 index rider. In this case, we actually just don't include Tadej's time (since they don't have an index and thus can't be included in the calcs). Chart and params: Winning time is adjusted up from 135mins to 150mins (ie, what the actual 0 index rider did). Tadej now has an index of -10, unlikely but possible (until the next CTCT he wins, at which point he becomes the "baseline" or "0 index rider"). Conclusion That was long, but I hope it's helpful to understand just how little subjectivity there is in calculating the seeding numbers. Obviously with thousands of riders doing all sorts of performances the linear regression becomes less easy to interrogate, but it should "average out". If I've missed anything, or anything is unclear, please let me know so I can update this post. If you want to play around with the calcs, make a copy of this Google sheet and go nuts
  6. In chronological order: - A was neutralised through the Dbnvl crit circuit (the windy 4km exit from the racecourse), B & C were not. - B caught A before the end of the neutral zone - Race motorbike stopped in an intersection, A group rode into it. - B was stopped to let A get ahead - Another crash in A, at this point C caught and passed most of A (I was in C) - Most of B finished ahead of A - C finished "with" a lot of A - Winning time was not really adjusted down, and only beta was set quite low - This meant most of B & C got indexes in the 11-13 range, leading to very big racing groups at CTCT last year The post-mortem from last year:
  7. It might And it might not maybe there was a crash, maybe the wind changed, maybe it got hotter/cooler, maybe a monster dropped back 15 groups and towed 100 people to sub3s there are any number of factors that drive the times, and “difficulty” is just one of them. i think they do themselves a disservice by just calling it difficulty, because it adds this element (as mentioned above) of perceived subjectivity, when there actually isn’t any there.
  8. Beta doesn’t equal difficulty, despite what the website says. so beta is the result of a linear regression that says “on average someone with an ‘x’ seeding before this race should have got an ‘x’ seeding in this race”
  9. One could argue we did have that in % at 99er. There were 7 $ riders who dropped back, and then drove the pace. even with that, the algorithm then penalises you by correcting for your fast pace. So you do have to “get lucky” to improve, like we did at Tour de PPA last year.
  10. Conspiracy theory: This is just PPA ensuring we all enter Tour de PPA 🤣
  11. For those wondering about seeding:
  12. Where are you seeing that? My PPA seeding doesn't have a 99er result as yet.
  13. B wave
  14. For those wondering, here's what Intervals.icu reckons the wind was doing, so if you felt like it was a slight headwind the whole way, you're not completely wrong 😂
  15. Good race (for me) in %. I was one wheel in front of the crash behind me, never a nice sound to hear carbon and bodies hitting the deck. There was a small lip where we went from old tar to new tar, and I think the bunch overreacted, braking rippled backwards, and eventually wheels touched leading to the crash. Had a mate caught up in it, he managed to finish with only the front derailleur working (and probably a mild concussion, he’s getting checked out). We also had a few $ riders drop back to our group, they seemed to have a lot of fun (at our expense 😂). The number 1 seed would drift backwards until he decided the pace was too slow, then he’d blast off the front, and then wait for us to surge and catch him. Made for a surgy race, but all in relatively good spirits. The tandems were honestly a bit of a pain, not sure what the solution here is, but getting a big racing group (with the racing women) mixed in with some tandems who naturally have very different momentum’s, made some bunch dynamics quite messy in the 2nd half. (Edit: just checked the results, and most of % finished ahead of the first place # pair, so we passed every single tandem). All in all, great race, as we’ve come to expect from 99er. Great job @NicholasH and team. Now to see what beta they give us 😂
  16. Much cheaper than a new future shock, and I unfortunately know all about those 😂🙈
  17. Nice, where did you source one?
  18. @NicholasH just grateful he's not having to deal with heat stroke victims this year, plus the crosswind should reduce centre line crossings as well 🤣
  19. Character groups (&, %, etc) at CTCT had ~300 riders each last year, not sure how many $ had
  20. Yup, that's what it looks like
  21. 38y male in %, so I suspect it's the latter
  22. Based on this, it appears to be next to Col Cacchio
  23. That's fine, if I know ahead of time that I must park in the suburbs then that's not an issue. It's worse to arrive expecting parking and hit massive queues. So I'll scope out a few options on streetview and just ride in, thanks!
  24. @NicholasH is there dedicated parking on the morning? From the image in the email, it looks like quite a small field. Should I plan to park in the suburbs somewhere and ride in?
  25. Let it begin 😉 Usual “if you believe a Cape Town forecast a week out I have some nice snake oil to sell you” disclaimers, but temperature is looking nice, at least. that cross-headwind on the way back could make for a lot of people sheltering in the gutters and could reduce the echelons crossing the middle line at least 😂
Settings My Forum Content My Followed Content Forum Settings Ad Messages My Ads My Favourites My Saved Alerts My Pay Deals Help Logout