My model was inspired by the amazing f1metrics model and therefore shares a significant portion of its methodology.
Step 1 was to introduce a unified points system. P1 gets 10p, P2 gets 10p*0.72=7.2p, P3 gets 7.2p*0.72=5.18p …. etc. all the way to P20. Driver related DNFs are scored with 0p.
Then the 2 teammates get their points assigned for every race. Races where one driver has mechanical issues are excluded (or corrected if possible). Driver errors and other incidents are also excluded (or corrected if possible). Now the points are tallied up and converted on an s-curve. The difference between the two values of the drivers is the performance difference between them.
In combination with functions for age and experience (I use those of the f1metrics model), doing this with all drivers over a lot of seasons, results in a pretty sturdy web of relative driver performances. While building this web, I am not looking for a compromise of all seasons but instead a most perfect fit.
Now that I have performance ratings (later referred to as ceiling/pace/potential) for the drivers, I can get a value for the car/team in a season since
(points)=(driver performance)+(car performance)
and therefore
(car performance)=(points)-(driver performance)
The driver errors are then added back in, giving a new points total, and through
(points)-(car performance)=(driver performance)
I get the actual performance of the drivers in that season. Those performance ratings are then translated back over the s-curve to give a “points per race rating” which goes from 0-10. That is then multiplied by 10 to get a neat driver score of 0-100.
As you can see, the major difference to the f1metrics model is the handling of driver errors. In my opinion this results in more accurate ratings as the amount of errors a driver makes can vary widely from season to season. Secondly, it has the advantage of untieing teammates in a season. A drivers rating won’t automatically get boosted just because his teammate is having a shocker.
At its core the model is assessing a drivers ability to score points with
(total points)=(possible points)-(lost points)
This can be abstracted onto the drivers. Simplified the drivers’ season ratings can then be understood as
(driver rating)=(driver pace)-(driver mistakes)

For the past year, I have been building a mathematical model and the summer break seems as good a time as any to publish some results. The model seeks to eliminate the factor car by only measuring drivers against their teammates. At its core the model is assessing a drivers ability to score points. Simplified