Ratings

  • You DO NOT need an account in order to download the content that we host....ONLY make an account if you plan to be an ACTIVE member.
  • We DO NOT Allow Multiple Accounts, those people found to have more than one linked to their IP address Will be Banned.

ddrap14

Well-Known Member
Hot Pass Member
Dec 26, 2019
138
43
_ignitionblog
Hey guys, I'm working on a mock season and I was wanting some tips about setting ratings. It's based on real drivers but not a real series, so I can't use real data and nRatings. What should I take into account for each rating?
 

ZiggyM

Well-Known Member
Hot Pass Member
Jun 5, 2017
968
93
Hey guys, I'm working on a mock season and I was wanting some tips about setting ratings. It's based on real drivers but not a real series, so I can't use real data and nRatings. What should I take into account for each rating?

"I can't use real data" If you aren't using real data, put whatever numbers you want in there. :)

If you really mean, "I can't use NRatings because the data is not from a series at Racing Reference" and you've got the data, here are my formulas, which have worked very well for me and the GN mods. Step through them and you'll see which stats I use for which attribute (ie, SS and SW for aero, ST and SS for engine, ST and SW for chassis).


Your results may vary.



***************************************************************************************************************************************

<?xml version="1.0"?>
<RatingsFormula xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>ZMGNRacev3</Name>
<Author>SnyderArt, optimized by Tjeuten, edited by ZiggyM</Author>
<Version>v3.02</Version>
<Description>For use with any field size.</Description>
<Options>
<UseNr2003TrackTypes>false</UseNr2003TrackTypes>
<MapWithDriverNameOnly>true</MapWithDriverNameOnly>
</Options>
<DriverAggressionMin>
var rating = 0;
if(@avgFinish != null)
{
rating = 80.0 - (@bestStart + @avgStart);
rating = rating;
}
</DriverAggressionMin>
<DriverAggressionMax>
var rating = 0;
if(@avgFinish != null)
{
rating = 90.0 - (@bestFinish + @avgFinish) + ((@dnfCrash / @raceStarts)*50);
rating = rating;
}
</DriverAggressionMax>
<DriverConsistencyMin>
var rating = 0;
if(@avgFinish != null)
{
rating = 90.0 - ((@avgFinish - @bestFinish) + ((@dnfCrash / @raceStarts)*50));
rating = rating;
}
</DriverConsistencyMin>
<DriverConsistencyMax>
var rating = 0;
if(@avgFinish != null)
{
rating = 95.0 - ((@avgFinish - @bestFinish));
rating = rating;
}
</DriverConsistencyMax>
<DriverFinishingMin>
var rating = 0;
if(@avgFinish != null)
{
rating = 100.0 - (95.0 * @avgFinish / @avgNumberOfStarters);
rating = rating;
}
</DriverFinishingMin>
<DriverFinishingMax>
var rating = 0;
if(@bestFinish != null)
{
rating = 100.0 - (90.0 * @bestFinish / @avgNumberOfStarters);
rating = rating;
}
</DriverFinishingMax>
<DriverQualifyingMin>
var rating = 0;
if(@avgStart != null)
{
rating = 100.0 - (95.0 * @avgStart / @avgNumberOfStarters);
rating = rating;
}
else
rating = 0;
</DriverQualifyingMin>
<DriverQualifyingMax>
var rating = 0;
if(@bestStart != null)
{
rating = 100.0 - (90.0 * @bestStart / @avgNumberOfStarters);
rating = rating;
}
else
rating = 0;
</DriverQualifyingMax>
<DriverRoadCourseMin>
var rating = 0;
if(@avgFinishRC != null)
rating = 100.0 - (95.0 * @avgFinishRC / @avgNumberOfStartersRC);
else
rating = 0;
rating = rating;
</DriverRoadCourseMin>
<DriverRoadCourseMax>
var rating = 0;
if(@bestFinishRC != null)
rating = 100.0 - (90.0 * @bestFinishRC / @avgNumberOfStartersRC);
else
rating = 0;
rating = rating;
</DriverRoadCourseMax>
<DriverShortTrackMin>
var rating = 0;
if(@avgFinishST != null)
rating = 100.0 - (95.0 * @avgFinishST / @avgNumberOfStartersST);
else
rating = 0;
rating = rating;
</DriverShortTrackMin>
<DriverShortTrackMax>
var rating = 0;
if(@bestFinishST != null)
rating = 100.0 - (90.0 * @bestFinishST / @avgNumberOfStartersST);
else
rating = 0;
rating = rating;
</DriverShortTrackMax>
<DriverSpeedwayMin>
var rating = 0;
if(@avgFinishSW != null)
rating = 100.0 - (95.0 * @avgFinishSW / @avgNumberOfStartersSW);
else
rating = 0;
rating = rating;
</DriverSpeedwayMin>
<DriverSpeedwayMax>
var rating = 0;
if(@raceStartsSW != null)
rating = 100.0 - (90.0 * @bestFinishSW / @avgNumberOfStartersSW);
else
rating = 0;
rating = rating;
</DriverSpeedwayMax>
<DriverSuperSpeedwayMin>
var rating = 0;
if(@avgFinishSS != null)
rating = 100.0 - (95.0 * @avgFinishSS / @avgNumberOfStartersSS);
else
rating = 0;
rating = rating;
</DriverSuperSpeedwayMin>
<DriverSuperSpeedwayMax>
var rating = 0;
if(@avgFinishSS != null)
rating = 100.0 - (90.0 * @bestFinishSS / @avgNumberOfStartersSS);
else
rating = 0;
rating = rating;
</DriverSuperSpeedwayMax>
<VehicleAeroMin>
var rating = 0;
if(@avgStartSS != null &amp;&amp; @avgStartSW != null)
rating = 90.0 - ((@avgFinishSS * 40.0 / @avgNumberOfStartersSS) + (@avgFinishSW * 40.0 / @avgNumberOfStartersSW));
else
if(@avgStartSS != null)
rating = 89.0 - (((@avgFinishSS * 85.0 / @avgNumberOfStartersSS)) / 1.0);
else
if(@avgStartSW != null)
rating = 88.0 - (((@avgFinishSW * 80.0 / @avgNumberOfStartersSW)) / 1.0);
else
rating = 80.0 - (((@avgFinish * 75.0 / @avgNumberOfStarters)) / 1.0);
rating = rating;
</VehicleAeroMin>
<VehicleAeroMax>
var rating = 0;
if(@bestStartSS != null &amp;&amp; @bestStartSW != null)
rating = 95.0 - (((@bestFinishSS * 45.0 / @avgNumberOfStartersSS) + (@bestFinishSW * 45.0 / @avgNumberOfStartersSW)) / 1.0);
else
if(@bestStartSW != null)
rating = 93.0 - (((@bestFinishSW * 90.0 / @avgNumberOfStartersSW)) / 1.0);
else
if(@bestStartSS != null)
rating = 94.0 - (((@bestFinishSS * 90.0 / @avgNumberOfStartersSS)) / 1.0);
else
rating = 75.0 - (((@bestFinish * 70.0 / @avgNumberOfStarters)) / 1.0);
rating = rating;
</VehicleAeroMax>
<VehicleChassisMin>
var rating = 0;
if(@avgStartST != null &amp;&amp; @avgStartSW != null)
rating = 90.0 - (((@avgFinishST * 40.0 / @avgNumberOfStartersST) + (@avgFinishSW * 45.0 / @avgNumberOfStartersSW)) / 1.0);
else
if(@avgStartST != null)
rating = 88.0 - (((@avgFinishST * 85.0 / @avgNumberOfStartersST)) / 1.0);
else
if(@avgStartRC != null)
rating = 89.0 - (((@avgFinishRC * 85.0 / @avgNumberOfStartersRC)) / 1.0);
else
rating = 80.0 - ((@avgFinish * 75.0 / @avgNumberOfStarters) / 1.0);
rating = rating;
</VehicleChassisMin>
<VehicleChassisMax>
var rating = 0;
if(@bestStartST != null &amp;&amp; @bestStartSW != null)
rating = 95.0 - (((@bestFinishST * 40.0 / @avgNumberOfStartersST) + (@bestFinishSW * 45.0 / @avgNumberOfStartersSW)) / 1.0);
else
if(@bestStartST != null)
rating = 93.0 - (((@bestFinishST * 85.0 / @avgNumberOfStartersST)) / 1.0);
else
if(@bestStartRC != null)
rating = 94.0 - (((@bestFinishRC * 85.0 / @avgNumberOfStartersRC)) / 1.0);
else
rating = 85.0 - (((@bestFinish * 80.0 / @avgNumberOfStarters)) / 1.0);
rating = rating;
</VehicleChassisMax>
<VehicleEngineMin>
var rating = 0;
if(@avgStartST != null &amp;&amp; @avgStartSS != null)
rating = 90.0 - (((@avgFinishST * 40.0 / @avgNumberOfStartersST) + (@avgFinishSS * 40.0 / @avgNumberOfStartersSS)) / 1.0);
else
if(@avgStartSS != null)
rating = 89.0 - (((@avgFinishSS * 80.0 / @avgNumberOfStartersSS)) / 1.0);
else
if(@avgStartST != null)
rating = 88.0 - (((@avgFinishST * 80.0 / @avgNumberOfStartersST)) / 1.0);
else
rating = 87.0 - (((@avgFinish * 80.0 / @avgNumberOfStarters)) / 1.0);
rating = rating;
</VehicleEngineMin>
<VehicleEngineMax>
var rating = 0;
if(@bestStartST != null &amp;&amp; @bestStartSS != null)
rating = 95.0 - (((@bestFinishST * 45.0 / @avgNumberOfStartersST) + (@bestFinishSS * 45.0 / @avgNumberOfStartersSS)) / 1.0);
else
if(@bestStartSS != null)
rating = 94.0 - (((@bestFinishSS * 90.0 / @avgNumberOfStartersSS)) / 1.0);
else
if(@bestStartST != null)
rating = 93.0 - (((@bestFinishST * 90.0 / @avgNumberOfStartersST)) / 1.0);
else
rating = 92.0 - (((@bestFinish * 85.0 / @avgNumberOfStarters)) / 1.0);
rating = rating;
</VehicleEngineMax>
<VehicleReliabilityMin>
var rating = 0;
rating = 100.0 - (100.0 * @dnfMechanical / @raceStarts);
rating = rating;
</VehicleReliabilityMin>
<VehicleReliabilityMax>
var rating = 0;
rating = (100.0 * @percLapsCompleted);
rating = rating;
</VehicleReliabilityMax>
<PitcrewConsistencyMin>
var rating = 0;
if(@avgFinishSW != null)
rating = 90.0 - ((@avgFinishSW));
else
if(@bestStartSS != null)
rating = 85.0 - ((@avgFinishSS));
else
rating = 80.0 - ((@avgFinish));
rating = rating;
</PitcrewConsistencyMin>
<PitcrewConsistencyMax>
var rating = 0;
if(@bestFinishSW != null)
rating = 95.0 - ((@bestFinishSW));
else
if(@bestStartSS != null)
rating = 90.0 - ((@bestFinishSS));
else
rating = 85.0 - ((@bestFinish));
rating = rating;
</PitcrewConsistencyMax>
<PitcrewSpeedMin>
var rating = 0;
if(@bestStartSS != null)
rating = 90.0 - ((@avgFinishSS));
else
if(@bestStartSW != null)
rating = 85.0 - ((@avgFinishSW));
else
rating = 80.0 - ((@avgFinish));
rating = rating;
</PitcrewSpeedMin>
<PitcrewSpeedMax>
var rating = 0;
if(@bestStartSS != null)
rating = 95.0 - ((@bestFinishSS));
else
if(@bestStartSW != null)
rating = 90.0 - ((@bestFinishSW));
else
rating = 85.0 - ((@bestFinish));
rating = rating;
</PitcrewSpeedMax>
<PitcrewStrategyMin>
var rating = 0;
if(@bestStartST != null)
rating = 90.0 - ((@avgFinishST));
else
if(@bestStartSW != null)
rating = 85.0 - ((@avgFinishSW));
else
rating = 80.0 - ((@avgFinish));
rating = rating;
</PitcrewStrategyMin>
<PitcrewStrategyMax>
var rating = 0;
if(@bestStartST != null)
rating = 95.0 - ((@bestFinishST));
else
if(@bestStartSW != null)
rating = 90.0 - ((@bestFinishSW));
else
rating = 85.0 - ((@bestFinish));
rating = rating;
</PitcrewStrategyMax>
</RatingsFormula>


***************************************************************************************************************************************



Have fun!
 

Attachments

  • ZMRaceGNv3.zip
    1.4 KB · Views: 4
  • Like
Reactions: Bill1947

ddrap14

Well-Known Member
Hot Pass Member
Dec 26, 2019
138
43
_ignitionblog
Hi @ZiggyM , thanks so much for your help! It's a series that, while it features real drivers, it's completely fictional, so I'd like to keep the ratings similar to the drivers in real life. So two more questions: 1. What is SS, ST and SW? (Cause if I can wrap my head around that I might be able to do some ratings through that). And tow, what would you recommend to keep driver ratings realistic for more obscure drivers who I'll need to do myself?
 

Hot Links