How exactly does driver rating work?

Discussion in 'Gran Turismo Sport' started by CrestDelta, Oct 20, 2017.

  1. John Crellin

    John Crellin

    Messages:
    655
    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.
     
    Robben likes this.
  2. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    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 :)
     
    Robben and John Crellin like this.
  3. John Crellin

    John Crellin

    Messages:
    655
    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: Mar 20, 2018
    Robben likes this.
  4. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    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.
     
    Robben and John Crellin like this.
  5. John Crellin

    John Crellin

    Messages:
    655
    Gotcha. I see where I messed up now. Thanks for clearing that up for me. :cheers:
     
    Outspacer likes this.
  6. Robben

    Robben

    Messages:
    2,632
    Location:
    United Kingdom
    Thanks for the responses @John Crellin and @Outspacer :).

    Basically I'm quite far out then :lol:

    I recall that 2 of the guys I finished ahead of were S drivers, so this does probably skew things slightly.
     
    Outspacer and John Crellin like this.
  7. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    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.
     
    John Crellin likes this.
  8. John Crellin

    John Crellin

    Messages:
    655
    If i recall from my calculus days I'm fairly certain there is a method for calculating discrete averages using limits.
     
    Outspacer likes this.
  9. Robben

    Robben

    Messages:
    2,632
    Location:
    United Kingdom
    So beating S and beating A makes no difference? :confused: You've really lost me now.
     
  10. John Crellin

    John Crellin

    Messages:
    655
    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?
     
    Robben and Outspacer like this.
  11. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    @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!

    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: Mar 21, 2018
    John Crellin and Robben like this.
  12. Robben

    Robben

    Messages:
    2,632
    Location:
    United Kingdom
    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: Mar 21, 2018
  13. John Crellin

    John Crellin

    Messages:
    655
    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
     
    Robben likes this.
  14. Robben

    Robben

    Messages:
    2,632
    Location:
    United Kingdom
    Cool, cheers. Finish top half is the key then, and don't worry about who is ahead or behind :)
     
  15. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    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...

    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:

    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

    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!
     
    Robben and John Crellin like this.
  16. John Crellin

    John Crellin

    Messages:
    655
    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.
     
    Robben and Outspacer like this.
  17. jasguer

    jasguer

    Messages:
    336
    Location:
    United States
    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: Mar 21, 2018
  18. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    @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:
     

    Attached Files:

    Last edited: Mar 21, 2018
    Robben and jasguer like this.
  19. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    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 :)
     
    Jimmyghione, Robben and Lord Grey like this.
  20. breeminator

    breeminator

    Messages:
    567
    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?
     
  21. Outspacer

    Outspacer

    Messages:
    1,894
    Location:
    United Kingdom
    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.
     
  22. breeminator

    breeminator

    Messages:
    567
    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).