Driver Ranking System explained

Basic concepts

Some examples of how class entries are counted

This one qualifies for Nitro Buggy class as it has 75 total entries as 17+24+34 = 75 (which is > 50)

This one doesn’t qualify as a big event for any listed class because there are not enough entries for any of them (40, 45, 25 < 50).

Ranking Categories

There are two scopes for the ranking: Global and National, both calculated for each class separately.

Here is the list of classes that ranking is calculated for

we are going to extend this list furthermore with user's feedback

Calibration

Each new driver needs to be calibrated first in order to get the ranking by meeting the following conditions:

Calculation

Each driver gets a number of points based on his/her performance during the ranked period. A driver with higher points will be placed higher.
Ranking period is 3 rolling years starting from the current date and goes exactly 3 years back
Rankings are refreshed on a daily basis

Exact formula: Points = (2*R(fresh) + R(older))/3 + 2*R(international) + 0.5*R(big)), where
R(x) => (1 + MAX(x.UniqueOvercomes, 300)/300) * x.PositionWeight
x.UniqueOvercomes - Unique drivers that have been overtaken at least ones for given period,
x.PositionWeight - Position weight calculated as AVG(1 - (position - 1)/entries)

Example: Assume we have one driver finishing 1st in 2 international races (1 this year and 1 last year) with the same entry list of 100 drivers. That would be calculated as:
((2*(1 + 99/300)*(1 - 0/100) + 1*(1 + 99/300)*(1 - 0/100))/3 + 2*(1 + 99/300)*(1 - 0/100) + 0.5 * (1 + 99/300)*(1 - 0/100)) * 10000 =
((2*1.33 + 1.33)/3 + 2*1.33 + 0.5*1.33) * 10000 =
(1.33 + 2*1.33 + 0.5*1.33) * 10000 =
3.5*1.33 * 10000 = 46550