How exactly does driver rating work?

  • Thread starter CrestDelta
  • 88 comments
  • 44,679 views
Correct, approximately, and... not like that :) I think it goes something like this...

Start with what you would get from your position when everyone has equal DR: (3 - 12) * 80 = -9 * 80 = -720

Then subtract that from what you actually scored, and multiply by 500: (-414 - -720) * 500 = 306 * 500 = 153000

Then you can get an approximate average DR difference compared to you, by dividing by the number of others: 153000 / 15 = 10200

Then an approximate average DR for the whole race, by adding your DR plus your DR divided by the number of competitors: DR + 10200 + DR / 16 = ...

It's very approximate because of all the rounding to integers that's done in the scoring, and because it rounds down that means the error is always in the same direction. In the race I tried this method against the average DR estimates were about 1700 too high (13 competitors, so about 130 per), but were within a few hundred of each other.
But his 414pt loss takes into account that he beat 3 other players, therefore he lost more than 414 points to the people in front of him and gained some back by beating the three behind him. Your method should work if he placed last place.
 
But his 414pt loss takes into account that he beat 3 other players, therefore he lost more than 414 points to the people in front of him and gained some back by beating the three behind him. Your method should work if he placed last place.

Since it's all about the differences, I start with a reference that allows for that: (3 - 12) * 80 = -9 * 80 = -720. That's +3 for the ones beaten, and -12 for the ones lost against.

I've tested this for every one of 13 competitors in a race I have full info of, and it works (with the noted errors) regardless of position.

edit: some of the error could probably be estimated as well, to give a more accurate answer, but I didn't have time :)
 
Since it's all about the differences, I start with a reference that allows for that: (3 - 12) * 80 = -9 * 80 = -720. That's +3 for the ones beaten, and -12 for the ones lost against.

I've tested this for every one of 13 competitors in a race I have full info of, and it works (with the noted errors) regardless of position.

edit: some of the error could probably be estimated as well, to give a more accurate answer, but I didn't have time :)

Ok. Correct me if im wrong, but i did the math with both of our estimations.

If you use my estimation of 18200 avg difference, the the result is a loss of 392pts (22pts off)
If you use your estimation of 10200 avg difference, the result is a loss of 592pts (178pts off)

My method brings you closer to the true value

EDIT:

So I know why i was 22pts off, the average value should have been corrected by:
3 beat/12lost = 1/4= 0.25
or a 0.75 correction factor (not 0.80) bring the average to 17062 not 18200.

with an average of 17062 if you plug n chug into the DR equation you get exactly 414pts lost

I will edit my original response to reflect this

============
showing my work:

80- (17062 / 500) = 46pts per exchange

(46*3) - (46*12) = -414pts

Conclusion? Always check your work ;)
 
Last edited:
Ok. Correct me if im wrong, but i did the math with both of our estimations.

If you use my estimation of 18200 avg difference, the the result is a loss of 392pts (22pts off)
If you use your estimation of 10200 avg difference, the result is a loss of 592pts (178pts off)

My method brings you closer to the true value

EDIT:

So I know why i was 22pts off, the average value should have been corrected by:
3 beat/12lost = 1/4= 0.25
or a 0.75 correction factor (not 0.80) bring the average to 17062 not 18200.

with an average of 17062 if you plug n chug into the DR equation you get exactly 414pts lost

I will edit my original response to reflect this

============
showing my work:

80- (17062 / 500) = 46pts per exchange

(46*3) - (46*12) = -414pts

Conclusion? Always check your work ;)

I think what you're getting tripped up by is that the (loser-winner)/500 + 80 calc only applies to winners. The loser's calc is -((loser-winner)/500 + 80). That flips the +80 to -80 (as well as changing loser-winner to winner-loser).

I get 10200/500-80 = -59.6 for each of those ahead and 10200/500+80 = +100.4 for each of those behind.

And 12 * -59.6 + 3 * 100.4 = -414

The full calc in the normal direction effectively contains an 'if'; it's not continuous, and it's not trivially invertible. The partial calc of 10200/500 = 20.4 is though, and is (effectively) what I used.
 
I think what you're getting tripped up by is that the (loser-winner)/500 + 80 calc only applies to winners. The loser's calc is -((loser-winner)/500 + 80). That flips the +80 to -80 (as well as changing loser-winner to winner-loser).

I get 10200/500-80 = -59.6 for each of those ahead and 10200/500+80 = +100.4 for each of those behind.

And 12 * -59.6 + 3 * 100.4 = -414

The full calc in the normal direction effectively contains an 'if'; it's not continuous, and it's not trivially invertible. The partial calc of 10200/500 = 20.4 is though, and is (effectively) what I used.
Gotcha. I see where I messed up now. Thanks for clearing that up for me. :cheers:
 
I recall that 2 of the guys I finished ahead of were S drivers, so this does probably skew things slightly.

Surprisingly, it doesn't. At first I thought we wouldn't be able to calc an average DR, but since we can, it means that your score is based on finish position, number of competitors, average DR of the others, and your DR. You gain 20 pts from racing against someone with 10000 DR more than you, whether you beat them or not. (Of course you still gain/lose the baseline 80 pts as well, so it's hardly win/win).

However, all the rounding can have a large effect. Each time it calcs (loser-winner)/500 + 80 it rounds the result down, so DR differences in a 500 point range all result in the same partial score, e.g.: 10000/500+80 = 100 to 10499/500+80 = 100.

Working backwards, I think that should mean that the approximation of average DR is under-estimated by 250 pts per opponent, on average. But in the race I tried this on it came out about right, so I'm not sure how to allow for it.

BTW, I've made a sneaky edit in my post with the method, to fix a mistake in the last calc of overall average DR.
 
Surprisingly, it doesn't. At first I thought we wouldn't be able to calc an average DR, but since we can, it means that your score is based on finish position, number of competitors, average DR of the others, and your DR. You gain 20 pts from racing against someone with 10000 DR more than you, whether you beat them or not. (Of course you still gain/lose the baseline 80 pts as well, so it's hardly win/win).

However, all the rounding can have a large effect. Each time it calcs (loser-winner)/500 + 80 it rounds the result down, so DR differences in a 500 point range all result in the same partial score, e.g.: 10000/500+80 = 100 to 10499/500+80 = 100.

Working backwards, I think that should mean that the approximation of average DR is under-estimated by 250 pts per opponent, on average. But in the race I tried this on it came out about right, so I'm not sure how to allow for it.

BTW, I've made a sneaky edit in my post with the method, to fix a mistake in the last calc of overall average DR.
If i recall from my calculus days I'm fairly certain there is a method for calculating discrete averages using limits.
 
Surprisingly, it doesn't. At first I thought we wouldn't be able to calc an average DR, but since we can, it means that your score is based on finish position, number of competitors, average DR of the others, and your DR. You gain 20 pts from racing against someone with 10000 DR more than you, whether you beat them or not. (Of course you still gain/lose the baseline 80 pts as well, so it's hardly win/win).

However, all the rounding can have a large effect. Each time it calcs (loser-winner)/500 + 80 it rounds the result down, so DR differences in a 500 point range all result in the same partial score, e.g.: 10000/500+80 = 100 to 10499/500+80 = 100.

Working backwards, I think that should mean that the approximation of average DR is under-estimated by 250 pts per opponent, on average. But in the race I tried this on it came out about right, so I'm not sure how to allow for it.

BTW, I've made a sneaky edit in my post with the method, to fix a mistake in the last calc of overall average DR.

So beating S and beating A makes no difference? :confused: You've really lost me now.
 
So beating S and beating A makes no difference? :confused: You've really lost me now.
What he's saying is that there are two ways of looking at it. If you have a grid that has a given average DR, then finishing position is the deciding factor in how you score. Let's look at two hypotheticals
Let's say your in a grid of three where you place second amongst a DR B player and a DR S player,

in the first case you beat the Dr B player but lose to the DR S player. You gain less points from beating the DR B player than had you beat the DR S player and lose less points from losing to the DR S player than had you lost to the DR B player.

In the second scenario where you flip the grid and you now lose to the DRB player and beat the DR S player, the points come out the same as the first scenario. Because you now gain more points from the DR S guy and lose more points to the DR B guy.

So if the SOF is equal between two scenarios (ie the average DR of opponents is the same) then the deciding factor that determines your point outcome is your finishing position not who you beat. Make sense?
 
@John Crellin - Yes. It is counter-intuitive though, and maybe we could call it a flaw of using an Elo-based system, which was only really intended for 1v1.

I started writing this reply before seeing your post, it's amazing how well it ties in!

So beating S and beating A makes no difference? :confused: You've really lost me now.

OK, imagine a 3 person race, with 20k, 30k and 50k DR, and let's say the 30k comes 2nd.

Full calc:

If the 50k wins, Mr 30k gets -((30k-50k)/500+80) + (20k-30k)/500+80 = -40 + 60 = 20

If the 20k wins, Mr 30k gets -((30k-20k)/500+80) + (50k-30k)/500+80 = -100 + 120 = 20

Average calc:

Baseline score based on position and number of opponents (if they were all equal DR) for Mr 30k is 0.

Average DR of 2 opponents is 35k, so: 0 + 2 * (35k - 30k) / 500 = 20

Explanation:

Compared to the baseline, he 'gains' 40 from the 50k regardless (either -80 + 40 or +80 + 40) and 'loses' 20 to the 20k (either -80 - 20 or +80 - 20). And 0 + 40 - 20 = 20.
 
Last edited:
Ah, yes because we are working as an average :)

But if we knew that everyone had a higher DR than me (which we do, as I had door number 16 of 16) then surely beating 2 S drivers of 55k would be better than beating two A drivers of 45k?
 
Last edited:
Ah, yes because we are working as an average :)

But if we knew that everyone had a higher DR than me (which we do, as I had door number 16 of 16) then surely beating 2 S drivers of 55k would be better than beating two A drivers of 45k?
Well in your scenario you would have been beaten by two A at 45k which would balance out the points ganied from beating the S drivers at 55k.
Yes it's better to beat S drivers as a rule but in this case where the total available points remians stagnant it becomes a zero sum game
 
Well in your scenario you would have been beaten by two A at 45k which would balance out the points ganied from beating the S drivers at 55k.
Yes it's better to beat S drivers as a rule but in this case where the total available points remians stagnant it becomes a zero sum game

Cool, cheers. Finish top half is the key then, and don't worry about who is ahead or behind :)
 
Ah, yes because we are working as an average :)

But if we knew that everyone had a higher DR than me (which we do, as I had door number 16 of 16) then surely beating 2 S drivers of 55k would be better than beating two A drivers of 45k?

Well, not when the field is unchanged. It would if that were a difference in the field, and all those you lost to were the same (say, all 45k A) in both cases. But that would mean we'd be comparing two different races and the example isn't that, there's only one field.

Going back to the calc for your race...

I get 10200/500-80 = -59.6 for each of those ahead and 10200/500+80 = +100.4 for each of those behind.

Note that the difference between -59.6 and +100.4 is 160. That's no coincidence. Lose to everyone and you'd be down: 15 * -59.6 = -894 pts. For every place you gain, you gain 160 pts, and it doesn't matter who you beat. You beat three: -894 + 3 * 160 = -414.

It doesn't matter who you beat beacause that cancels out - you either gain more from or lose less to a higher DR depending on whether you beat them or not, but the difference from gaining a place is always 160 pts.

It's key to get your head around this, from the 3-person race example:

Compared to the baseline, he 'gains' 40 from the 50k regardless (either -80 + 40 or +80 + 40) and 'loses' 20 to the 20k (either -80 - 20 or +80 - 20). And 0 + 40 - 20 = 20.

For that race we could say there's an overall bias of +20 pts (2 * (35k - 30k) / 500 = 20), since for each possible finish of Mr 30k the points still change by 160 for each place:

1st +180
2nd +20
3rd -140

Cool, cheers. Finish top half is the key then, and don't worry about who is ahead or behind :)

Yeah, well, just the number of players you win/lose to. You might be able to make a guess at the bias of the room, to guess where your break-even position would be. In your race, 15 * 10200 / 500 = 306, so a break-even finish would be 306 / 160 = about 2 places down from the middle. Not that you can tell DR accurately at the start of a race anyway, but if you see half the field is DR D then your break-even is probably a good few places north of the middle!
 
Cool, cheers. Finish top half is the key then, and don't worry about who is ahead or behind :)
well that isnt completely correct, like @Outspacer said the SOF will bias where the the break even point is. So in a weaker field you will have to finish higher than in a stronger field to gain points.

The clearest way to think about what we are saying is that if you place 13th and lose 414pts, then you could shuffle around the other 15 players into different finishing positions (while keeping yourself in 13th) and still have the same resulting 414pt loss.
 
I collected the starting DR and ending DR for each driver for a race last night to see if I could figure out what the algorithm is. @Outspacer 's method is pretty darn accurate:
drchart.JPG

Thanks for this. Good work.:cheers:

Edit: and then I figured out that there are 2,432,902,008,176,640,000 permutations for a race with 20 entries......math is dumb
 
Last edited:
@jasguer - this is my latest spreadsheet, with some special cases accounted for like DR E and limiting partial score to 0 .. 160. It's about at the limit of being still workable as a spreadsheet...
=IF(OR(M$6=$A9,$K9<1,M$7<1,AND($L9=1,M$8=1)),0,IF(M$6>$A9,IF(ROUNDDOWN((M$7-$K9)/$N$3+$N$4,0)<0,1,ROUNDDOWN((M$7-$K9)/$N$3+$N$4,0)),-INDEX($M$9:$AF$28,M$6,$A9)))
:lol:

+/-1500 errors are when a player moves up/down a DR level. Most others are when players are limited by the 1 .. 75000 DR range. Other than that it's 100% accurate, quite capable of revealing PD's bugs :banghead:
 

Attachments

  • GTS_DR_Scoring_7.xls
    38.5 KB · Views: 18
Last edited:
You might be able to make a guess at the bias of the room, to guess where your break-even position would be. In your race, 15 * 10200 / 500 = 306, so a break-even finish would be 306 / 160 = about 2 places down from the middle. Not that you can tell DR accurately at the start of a race anyway, but if you see half the field is DR D then your break-even is probably a good few places north of the middle!

Thinking about that, we can say that the lowest finish that gains DR is:

N/2 + N * (SOF - DR_player) / 80000, rounded down

where N is the number of other players, and SOF is the average of the other players' DR scores.

Again, this isn't exact because of the rounding down in the full calc, but it's pretty good (since in this case the result is a small integer).

Most importantly, you do actually have a reasonable chance of estimating the SOF just from the DR letters that you see on the grid screen, usually well enough to guess where you need to finish to gain DR. (In a 20 player race, it takes a 4000 difference in the SOF to change your target position by 1).

Anyway, with practice, you can get a feel for guess-timating your target position, and know that there is some maths to back up that hunch :)
 
Hi, I'm new to GT Sport, but have been reading some of the posts about the ranking system, and it's not making much sense to me.

Consider a hypothetical race that has drivers with DRs of 5000, 10000, 15000 etc, and that everyone qualifies and races to their best of their ability. In the race, the field will just spread out, and there will be no overtaking. If the game handles this by transferring points from low finishers to high finishers, then the gap between the low rated drivers and high rated drivers will increase, even though the race result would be totally expected and in keeping with the prior ratings. If you kept running the same race over and over again, the top drivers would see their scores go up and up, and the bottom drivers would see their scores go down and down, even though there would in reality be no need for adjustment at all, as everyone would simply be performing in keeping with their initial rating.

That's a hypothetical extreme example, but in the daily races, AFAICT, unless you are really good, or really bad, your finish position is essentially random, determined by how the races are split. I've done 2 races so far, and in my 2nd race I qualified 1st and won, but my QT was poor, only top 46% for my region. So my win was purely a random outcome as there must have been other races above mine. If I had qualified a little faster, I could just as easily have been in last place in a faster race.

I suppose it would work if the races are split based on DR rather than QT, is that how it works? So if you have a 60k rating, and set a QT that is the sort of time a 5k driver would do, will you still be in a race with ~60k drivers rather than being able to slaughter a field of ~5k drivers and take all their points off them?
 
Matchmaking for races is done by SR and then by DR, QT is not a factor. If there are a lot of people playing it should produce races where all drivers are close in both ratings (but closer in SR). There isn't enough players for that to happen though.

The amount gained/lost reduces the bigger the gap in DR is, e.g. a 50k DR will only take 1 point from a 10k DR by finishing ahead.

As you've only done a couple of races you're still DR E and aren't really seeing the system in action yet. It starts proper after 5 races. At that point your DR will be so low that (in a very mixed-field race) you might gain DR simply by not finishing last.

In practice a lot of people don't qualify as well as they could, or they can't stick to a good pace in the race (not too fast, not too slow), or they make a mistake or get flustered by other drivers. Racecraft is just as important as QT, once QT is in the ballpark. (That said, pole is obviously the best place to start!).

As I said up top, there aren't enough players for it to work as well as it could, but even so it somehow does (or at least did, when I was still playing) manage to get most players to about their right DR level. Maybe it just takes longer with fewer players.
 
Thanks for the explanation. I've been very impressed by the number of active players, the whole online racing experience seems much better than Forza so far. However, bizarrely, the standard of driving has got much worse as the rest of the field has gone up in DR and SR in my later races (just finished my first 5).
 
Looking for some help guys. I don't understand why my DR rating took a nose dive!

I finish 2nd in my race last Saturday and got some DR points for the first time ever! Yey! On my race today, I got punted of the track in slot 1, kicked off the PSN in slot 2, but managed to achieve 4th in slot 3!!

I was under the impression that only the results from the last race is recorded, so I can accumulate points from all 3 race slots, but according to Kudos Prime, I took the hit for race 1 and 2 as well!!!

What goes on?
 

Attachments

  • Screenshot 2019-11-20 at 21.46.22.png
    Screenshot 2019-11-20 at 21.46.22.png
    79.3 KB · Views: 14
Ah OK! Thanks.

I wondered if it was because slot 3 finished after Midnight in the region you race in. So Technically, it was a new day
 
Ah OK! Thanks.

I wondered if it was because slot 3 finished after Midnight in the region you race in. So Technically, it was a new day

DR and SR ratings save at Midnight UTC/GMT regardless of region.
Currently (winter time) that's at 7pm EST, 4pm PST, 9am JST.

However the races change at 2AM EST on Monday morning, 11PM PST Sunday night.
I don't know if that's the same in different regions.
 
I've been wondering recently about the DR that corresponds to a given standard drifting up or down over time.

There are elements that I think distort the calculations presented in this thread. In a hypothetical 2 driver race where a 75k driver beats a 70k driver, the 70k driver would lose DR but the 75k driver wouldn't gain DR, so the average DR would fall? Same in reverse at the bottom end of the DR range.

New players will lower the average DR of the overall player pool. If they're good, then their first few races will suck DR out of the system, as they take points from other players without their own DR going up. When they go up a level, points are injected into the system, but taken away if they go down a level. DR resets suck a huge number of points out of the system.

It seems hard to predict the impact of all this? Has anyone noticed a trend where they've seen a clear change in the level of performance that corresponds to a given DR?
 
I think DR inflates overall.

DR 1 players can not lose DR but they still give DR to those finishing in front of them.
DR 75K players can not gain DR but still take DR from those they beat.

There are thousand times more DR.1 players than 75K players, ergo lots of points get added at the bottom of the pyramid.

New players start at 2,000 DR which gets added to the system. Every time they gain a rank another 1,500 points gets added. (However you lose that again when dropping a rank so it's a wash)

DR resets take points out of the DR pool but I don't think those out weigh the vast amount of DR points coming in from DR.1 players.
72% of players in sport mode are in DR D somehwere in the 1 to 4000 DR range.
0.3% of players in sport mode is DR A+ somewhere in the 50K to 75K range.

I like to believe I keep getting better but I do find it has become easier to climb to DR.A and even close to A+ without qualifying at all.
 
I wonder if the best way to improve my DR is to ONLY complete 1 race per day. Bank the points I have and try again tomorrow.

If I race more than once per day, the law of average means that it's only a matter of time until I race against some idiot who wipes me out or the PSN connection drops out and boots me from the race. When this happens, I lose however many points I had accumulated that day, and start the following day with 1 point again!
 
Back