OCCRA is excited to announce a class realignment affecting pretty much all riders that are racing in the A and B bike races. This was a ground up overhaul that used mathematical methods to rate each riders speed and then rank riders based on their speed to find much more suitable competition for everyone. The classes most affected are the expert level classes and all non-age based classes. We know there will be lots of questions so we have tried to summarize our strategy below. Let it just be known that we did not take this task lightly and we would not be doing it if we did not think it was to benefit of the club as a whole. I urge you to fully read through the details before you throw any harsh judgments.  There is a lot of information here, but please take the time to read through it.

The results of our reorganization can be viewed at the links below.  This is your new class.  Try not to get hung up on the class names and just look at the other people you’re racing against. If you are in an age class and would prefer to run non-age, we will be happy to transfer you to the most appropriate class. As always you can elect to class up to the next faster class on your own.

Click here to download the core racer (see explanations) evaluation with class assignments

Click here to download the simplified breakdown/assignments of all 2016 riders

Restructuring Goals

Not riding by yourself / bigger classes

One of the problems observed, particularly in the A race, is lines where only 3 or 4 riders show up on a consistent basis. You may race the whole race and never see another rider, unless a class behind you catches up. We targeted a class size in the neighborhood of 10 consistent riders who have done at least 4 races this past year. It’s not just about bigger classes, though.  The distribution of speed is tighter now – we hoped to achieve a class where all 10 riders finish within 2 minutes of the winner (see graphs below).

Eligibility for contingency programs

Contingency programs have some pretty specific rules for how a rider can earn credits for their program but most of the programs require the classes to have a certain number of riders turn out in a race for each class before it will pay credits for that race. Part of making the class sizes more evenly balanced should help more riders qualify for Fly Bucks and manufacturer contingency such as Husqvarna which both have a minimum turn out before it will pay points for a class. I think some people may be disappointed with their Fly Bucks this year because the program has recently gotten stricter about how it pays out.

Not knowing the outcome before the race starts

Another observed problem is when you look down your row at the starting line and you know who is going to win the race as long as there is no mechanical issue. We wanted everyone to have a legitimate shot at a podium on any given race and by the same token everyone should have to work hard for that podium. We want to limit people cruising to victory without even trying.

Move the faster B riders into the A race

In 2016, there are generally twice as many B riders as there are A riders. Many of those faster B riders are more than capable of running with A riders. After our reorganization, if you only look at riders who raced 4 or more races in 2016, we will have 84 A racers and 72 B racers, but there are always bound to be more new riders coming into the series as a B rider as the year progresses.

Thin out the sportsman class

The way the beginner class is structured right now, Sportsman is generally the only place some riders can go to despite their speed or lack thereof.  Consequently we sometimes have 20+ riders in the sportsman class and some of them may even get lapped by the fastest Sportsman. We have made plenty of room in the Novice class by moving faster B riders into the A race.  In general, the Sportsman class should be more consistent with where they start – 4th in the B race. We changed the name of Beginner to Open C to reflect our new philosophy that if you are completely outclassed by sportsman then Open C is the right place for you. If you are a new rider and you sign up in Open C and have a great race we will be quick to monitor your progress and move you to an appropriate class.

The Analysis

Here’s where we get a little nerdy, but it is very important to us that each member knows how we arrived at our conclusions.



A value lying at the midpoint of a frequency distribution of observed values, such that there is an equal probability of falling above or below it.

The basic advantage of the median in describing data compared to the mean (often simply described as the “average”) is that it is not skewed so much by extremely large or small values, and so it may give a better idea of a ‘typical’ value.

Yearly AP

This is a native Mototally calculated metric, which stands for Advancement Percentile. It takes each rider’s median lap time from each race and compares it against the fastest pro’s median lap time for that race. Then as a yearly score all races are weighted equally and averaged into a Yearly AP. The calculation can be expressed as ([Fastest Pro Median Lap time in seconds] / [Riders Median lap time in seconds]) and then averaged over all 12 rounds (excluding work).


The fastest lap of the race performed by each rider


Similar to the AP except that it compares the riders fastest lap time to the fastest pro lap time instead of using median. We liked this metric because it shows if everything goes right for a rider, this is what they capable of. To take it a step farther, for the yearly average, we only considered the top 50% of each riders FastLapScore for the races entered. Using the best 50% of the rider’s races allows us to appropriately rate riders who got significantly better in the second half of the season. We did not use the scores from the two mud races in this calculation (Morris and Henrietta were thrown out.) If you did all 11 rounds and a work, after throwing out the 2 mud races we take your best 50% which works out to be 5 races used. The calculation can be expressed as Average(Top 50% of([Fastest Pro FastLap time in seconds] / [Riders FastLap time in seconds]))


This exactly the way that Mototally calculates the AP using the median lap time except that we threw out the two mud races and only averaged your best 50% of your scores. The calculation can be expressed as Average(Top 50% of([Fastest Pro Median Lap time in seconds] / [Riders Median Lap time in seconds]))


This is the equally weighted average of Yearly AP, FastLapScore, and MedianScore. Calculated as (([Yearly AP] + [FastLapScore] + [MedianScore]) / 3) This is a good indicator of the pecking order that riders should fall. We found that using the 3 scores together like this was the right balance of yearly performance, hot lap performance, and typical “good race” performance. This final score is the basis we used for dividing the classes into competitively grouped riders.

The Process

In order to meet our goal of having bigger classes that have a tighter groupings of speed, we needed to assess the smallest classes – generally the age-based experts, which then overlapped into the open intermediate because of the way the age-based experts were getting caught from the Intermediate row. Our philosophy was that once you reach that expert level, it doesn’t matter how old you are. Everyone in your class is capable of riding with expert level control of their bike, and whether they choose to or not does not seem to have any correlation to age. Anecdotally, we have had more close encounters with older riders than we have ever had problems with the younger riders. Once we realigned the age experts along with the open expert and intermediates into 4 classes based on actual speed, we had made lots of room to move faster riders up out of the B races and everything really started to fall into place for the open classes below.

In addition to removing the age based expert divisions, we also added a division for riders who are capable of pro speed but do not wish to run a pro class.  This will be called the Masters class and they have the luxury of choosing their open number range, but they will start on the same row with the XC1, yet scored separately. This year is a trial year for this class.

There has been a problem fielding a decent size 30+ intermediate row for the last 3 years.  According to the rule book, we should have eliminated the class altogether, but after looking at the speed of the riders, we felt it would be perfectly acceptable to combine the 40+ Int with the 30+ Int to just have one age range.

We tried to make the division of classes entirely mathematical and crunched different formulas and came up with the curve score and tried a lot of things that just didn’t work well using 100% math to arrive at our classes. After thinking about it, we can offer at least one explanation – the fastest pro is not always going to be the same person.  We could, for example, have Tony Joiner show up or possibly even someone from out of state and that could easily skew the scores for every other rider in the bike race.  And by the same token, we could have a poor turn out of pro speed and all the sudden everyone scored 5 or 10% higher than typical. That is the reason we go through and divide the classes using the scores to order riders but use human intuition to actually make the cutoff points. Maybe there is a mathematical way that will get it right every time, and maybe we will figure that out in the future, but for now, after spending 20+ hours searching for that perfect formula, we must resort to human intellect. I will say this, we looked at the numbers without any bias and favoritism we tried to be as mechanical as possible while still relying on our intuition. The line for each class division had to fall on someone.  If you are close to the line, either upper or lower bounds, it might be a good idea to hold off on permanent numbers until after first race or two. We feel really good about the open age classes, but the age based classes still have some issues with the gap in speed.  We tried not to harm the spirit of those age based classes as we got down farther into the B race, although there were still a few age-based riders that were really blowing their class away that were moved down an age bracket that suits their speed more realistically.

The Graphs

2016 Class Speed Distribution

This graph below shows how the distribution of speed looked in 2016. The reason it looks like a heartbeat is because the gap in speed within a single class was quite big, and the faster riders from some classes were actually faster than the rows in front of them.

2016 Class Breakdown

2017 Class Speed Distribution

This graph below shows the new distribution of speed after the realignment. You still have some heartbeat pulses because of the inevitable way that age based classes really mess things up, but even so it’s a lot better than it was.

2017 Class Breakdown

Rider Speed Distribution

The graph below (click to view) is just simply the pecking order of every single rider based on their score.

2016 Rider Speed Distribution

2017 A & B Bike Divisions Structure

A Division
AA Pro – 11A-99A
Masters – Open A
XC1 – 100A – 199A
XC2 – 200A – 299A
XC3 – 300A – 399A
Intermediate – 400A – 499A
30+ Intermediate – 500A – 599A
50+ Intermediate – 600A – 699A
Amateur – 700A -799A
B Division
Novice – 100B – 199B
30+ Amateur – 200B – 299B
40+ Amateur – 300B – 399B
Sportsman – 400B – 499B
Youth – 500B – 599B
Women Amateur – 600B – 699B
50+ Amateur – 700B – 749B
58+ Amateur – 750B – 799B
Open C – 800B – 899B