The online racing simulator
Open Endurance Cup Five - Balance of Performance Discussion
Quote from TFalke55 :To balance the strengths of cars within each class, the cars will be fitted with the following weights, restrictions and/or pit stop times.
A dynamic balancing system is be introduced to balance the cars on a race-by-race basis. The methods used in the dynamic balancing system need to be transparently published.
The mandatory pit stop times are a minimum time a competitor has to spend in the pit service area over the course of the race session. They are calculated considering the world record lap time, the race distance, the expected number of stints and the expected service times of the pit stop. It is assumed that the change of all tires takes 13 s and the refueling takes place at a rate of 0.2 l/s. It is furthermore assumed, that the change of cars’ performances throughout a stint are similar enough, to base the model on WR laps.
Failure to complete the pit stop times will result in a post-race time penalty of 10 s + 2*Δt, where Δt is the difference between the mandatory pit stop time and the served pit stop time rounded up to the next whole second.
The pit stop times will be published in the threads for each round.

I thought to start this thread as a dedicated place to discuss the Balance of Performance. The model for the calculation of these numbers is described in the excerpt of rules. The final values will be determined a few days before each round.

-->minimum pit stop times for Round 1 Round 2
UFR: 25 68
XFR: 22 37
LX6: 130 156
RAC: 41 111
FZ5: 89 55

(last updated 9th July 2020)

I'm looking forward to your comments.
Why not going air intake/additional mass route for ngt at least? :c
Basically I do not want to run different models for different cars. Keeping it to one approach hopefully also means that I can use the data of all cars that run the race to reevaluate the numbers after each round.
While I think that the time pitstop system is a good idea, handicap given to FZ5 seems quite harsh, given that it is much harder on tyres, and also needs to carry more fuel than RAC and LX6.
I'm looking into it again. Especially after rewatching the TRR Championship race last week, I share the feeling that the FZ5 might be disadvantaged by my method as it is so far. This weekend I tried to derive something from the variance of the AI performance over the course of a stint, but that lead to nothing (obviously). So I probably spend some evenings analyzing lap charts.
So... I've crunched the numbers for the first round of the season. I therefore wrote a little script to fit a quadratic parabola into lap data I gathered from several league races from the past 5 years. I only used the laps from the winning driver of these races and divided the lap time by their personal best lap or personal hot lap time to normalize them. The script does not use data points that are too far away with a naive data snooping approach, so starting laps, pit stop in and out laps or accidents are ignored. The rest is used for a least-square adjustment with a Gauss-Markov-model as backbone. From the resulting curves I calculated the area and thereby got an average lap time that was multiplied in the final step with the WR to get the actual track into the model.

%% UFR
estimated net race time: 10485.918
estimated pit stop time: 22.21

%% XFR
estimated net race time: 10486.410
estimated pit stop time: 20.47

total difference between the NGTR cars: XFR 1.16s faster then UFR

-->minimum pit stop times
UFR: 23
XFR: 22

The LRF class is naturally less dense


%% LX6
estimated net race time: 10995.762
estimated pit stop time: 39.12

%% RAC
estimated net race time: 11140.792
estimated pit stop time: 40.45

%% FZ5
estimated net race time: 11110.361
estimated pit stop time: 54.80

total difference between the LRF cars: LX6 146.36s faster then RAC, FZ5 16.081s faster then RAC

-->minimum pit stop times
LX6: 187
RAC: 41
FZ5: 72

Still a big problem of this very method is the data quality and the availability of good long races for the LRF cars. I hope to introduce the lap times set during OEC into this model. I want to release the script and raw data I used later this week, therefore the LRF numbers might change. Final pit stop times are to be released by Thursday.
Attached images
AS4r_XFR.png
AS4r_comparison.png
AS4r_FZ5.png
AS4r_LX6.png
AS4r_RAC.png
AS4r_UFR.png
Do the data contain the number of pitstops one car needs to make in this race? LX6 should have less fuel and burn it faster, so there could be more stops with this car than with RAC/FZ5.
I calculated with 2 pit stops in the LRF class. From what I see the LX6 should be able to do so. Then again if I am wrong that extra time in the pits would probably not change the minimum pit time as the time penalty would be reduced by the amount the LX6 needs longer in the pits.
Anyways I think a 3 stop strategy could very well be a viable option for LX6 drivers and FZ5 drivers.

Edit: Probably less so for the FZ5, as tyre usage is a bigger factor.
I tweaked the model a bit more and plotted the expected race graphs. Target was to have the cars within a second in the final lap as seconds are the smallest time frame I can expect racers to keep an eye on during pitstops. I noticed that there is a difference between the (more) continuous modelling based raced distance and the discrete modelling based on completed laps of the estimated race time. Therefore the minimum pit stop times change once more:


-->minimum pit stop times for Round 1
UFR: 25
XFR: 22
LX6: 174
RAC: 41
FZ5: 77

Attached images
AS4r_racegraph_no_balancing.png
AS4r_racegraph_with_balancing.png
Quote from TFalke55 :I tweaked the model a bit more and plotted the expected race graphs. Target was to have the cars within a second in the final lap as seconds are the smallest time frame I can expect racers to keep an eye on during pitstops. I noticed that there is a difference between the (more) continuous modelling based raced distance and the discrete modelling based on completed laps of the estimated race time. Therefore the minimum pit stop times change once more:


-->minimum pit stop times for Round 1
UFR: 25
XFR: 22
LX6: 174
RAC: 41
FZ5: 77


If you calculated everything right, it means that the lx6 needs to be almost two seconds faster in every laps on the race even if its one second slower compared to the wr laptimes. To be totally honest, i am not sure its possible to do so.
So while it was silent here, Lacko reminded me of the Corse Motorsports RAC / FZ5 Cup and the New Endurance Cup. Furthermore I used the data of all suitable races from City The inclusion of these races in my data drastically changed the curves, which is not a negative. It helped a lot to get data points to later stages of a stint and thereby helping the least square fitting there. While it definitely is the case for the LRFs and the UFR, the XFR was not so lucky. Hence I only update the LRF pit stop times for now:

-->minimum pit stop times for Round 1
UFR: 25
XFR: 22
LX6: 130
RAC: 41
FZ5: 89

Just to give an overview of what data went into it so far:

date,driver,track
=================
FZ5
---
20161031,M4ver1ck,FE3r
20171121,GreyBull [CHA],BL1
20190716,sl10,AS7
20190820,FasTLT,FE3
20200331,FasTLT,SO4
20150427,Cali (GER),WE2r
20130914,troy,AS5r

LX6
---
20161128,M4ver1ck,SO4
20170613,Burne,AS7
20190723,Rik97,BL2r
20200519,Sandisck,AS2
201306161,ukkojokkis,FE4
201306162,Feuerdrache,FE4
20150823,mbutcher,AS7r

RAC
---
20170410,troy,KY2
20170704,Smashmolth,RO6
20180508,FasTLT,SO3r
20181211,Lacko86,BL2r
20200107,nikopdr,WE1r
20151005,Cali (GER),KY3
201307281,IsaacPrice,AS5
201307281,Iginla,AS5
20131012,MARUS,SO4
20131019,MARUS,KY2r
20131005,danielroelofs,FE3

UFR
---
20200609,Botswanan Salama,FE3
20200505,Excellent15,RO11
20191001,rik97,AS2
20181127,Kislama01,SO5r
20180522,Botswanan Salama
20170522,troy,SO6
201307071,troy,KY3
201307072,Zapphord,KY3
20160620,Cali (GER),BL1
20150810,MoT3C,KY2
20141006,C.Schuht,SO4

XFR
---
20200324,FasTLT,AS6
20190416,Botswanan Salama,AS4
20180925,Botswanan Salama,AS2r
20170523,Smashmolth,WE1
20160306,Ascona b,RO1
20160403,Ascona b,BL1r
20130408,Cali (GER),AS5r

Anyways: If you know some competitive NGTR races that were also won by XFRs and had a decent field let me know!


I attatched my files as a zip. (yeah... it is MATLAB code... at a later stage I want to bring it over to python or some other open language, but for know I coded with what I knew would work)
Attached images
AS4r_comparison_20200618.png
AS4r_FZ5_20200618.png
AS4r_LX6_20200618.png
AS4r_RAC_20200618.png
AS4r_racegraph_with_balancing_20200618_LRFonly.png
AS4r_UFR_20200618.png
AS4r_XFR_20200618.png
Attached files
OEC_balance_of_performance_0_3.zip - 643.6 KB - 339 views
Damn Thilo.
Sorry for derailing this - what soft are you using? This looks very much like Origin. What hurt you so that you're so proficient in Origin?
it's Matlab code I've used... first tried Excel sheets, as I thought that would be much more transparent when releasing, but that they got too big to really understand anything and they confused me, so I switched to coding and as the first round approached quite rapidly I used the language in which I did most of my stuff recently. If I have time for it and get around it I want to rebuild it to python, to have it in an open language, but I currently lack the experience there.

EDIT: Seeing what Origin is, I now understand why you thought so Sobis.
Don't know if I am right with this, so does the 22 seconds for the xfr pit stop mean that's for each pitstop taken individually or a total for all the pitstops added together much be greater than 22 sec?
these times are totals for the race distance. so during the race you need to be stationary for 22 seconds in a XFR at the pits.

EDIT: Important, the timing stops once you've moved. So if you accidently move when it says "finished" and stop and wait again in the pits, it does not count. Keep that in mind.
Not sure if I remember correctly but I believe Airio does report how long your pit stop took. Maybe it's possible for Airio to report to driver how much time you took in pit stops in total, including previous stops?

Something along the line
"Your current total pit stop time is ???/130 seconds"
So I ran the numbers again including now all laps of the Round 1 competitors. It uses the finishing position for weighing the lap counts. Also it now expects a three stint race in all cars, not just in the LRFs, which rendered the minimum pit stop times in the first round close to pointless for the NGTRs. As in the first round, this is the first release and may be amended by updates to the data and/or by further evaluation. Especially the difference in the NGTRs appears rather big, which probably happens due to the UFRs finishing the race in the top positions.

-->minimum pit stop times for Round 2
UFR: 68
XFR: 37
LX6: 156
RAC: 111
FZ5: 55

The updated model and all the graphs are attatched to this post.
Attached images
WE2_LX6.png
WE2_RAC.png
WE2_racegraph_with_balancing.png
WE2_UFR.png
WE2_XFR.png
WE2_comparison.png
WE2_FZ5.png
Attached files
OEC_balance_of_performance_0_4.zip - 1.1 MB - 315 views
Those times seem good. I think we will see the benefits of a longer combined pitstop time for the UFR this round. Impressive work, really.
I didn't have time to test it beforehand, but in the race i spent approx. some 70 seconds in pit without any repairs, just fuel and tyres, with FZ5. I did 2 stops, so with this i lost a bit of time.
Same model as for round 2, just updated with the laps from round 2.
-->minimum pit stop times for Round 3
UFR: 60
XFR: 37
LX6: 105
RAC: 41
FZ5: 67

Attached images
KY2r_XFR.png
KY2r_comparison.png
KY2r_FZ5.png
KY2r_LX6.png
KY2r_RAC.png
KY2r_racegraph_with_balancing.png
KY2r_UFR.png
Attached files
OEC_balance_of_performance_0_5.zip - 1.8 MB - 324 views
Just investigating the pit stops, it seems there has been a wrong estimation for the pit stop times of the LRF cars. They seem to have a different refuelling rate compared to the NGTRs I was not aware of.

After discussions I had with Kid, I tested it one more time

FZ5 45s 90l 0.5 s/l
RAC 24s 42l 0.571428571s/l
LX6 20s 40l 0.5 s/l
XFR 14s 70l 0.2 s/l
UFR 11s 60l 0.183333333s/l

For the final round the LRF refuelling estimation will therefore be changed to 0.6s/l.
I am updating the model currently. I improved the weight matrix, which in turn focuses the estimation on laps of top finishers compared other drivers. While this has the advantage to get a "cleaner" estimation of the parameters, it also ignores now a lot more laps. To compensate this, I amended the ending criteria for the data snooping by raising the upper boundary from 2 sigma to 2.575829 sigma. I also went from an estimation of a quadratic to a linear function for all cars except the FZ5, as it still features a noticeable curvature.

Since the updated script still needs a bit of work, but the race takes place at the end of this week, I'd like to publish the times as of now anyways.
-->provisional minimum pit stop times for Round 4
UFR: 40
XFR: 40
LX6: 228
RAC: 194
FZ5: 98

the big increase in minimum pit stop times in the LRF class can be explained by the more realistic pit stop time for the FZ5 and the general projected lack of race pace of the car (0.8-1.0s per lap slower).
The XFR is currently projected to be slightly faster then the UFR by a couple of seconds over the course of the race however it still needs some reevaluation after the model is finished, so both minimum pit stop times are equal for now.
As I said, the times are very much provisional for now.

FGED GREDG RDFGDR GSFDG