Loony BoB said:
That's a brilliant way of doing things, Vimes. I say we pass all rookies to Vimes to adjust the stats before they're allocated to a team.
Thanks (I think!)
Anyway, tinkered a bit more with it and figured that the best way of doing it would be awfully complicated, but still basically the same as in the example above. This system would be able to handle everything but the weirdest of sign-ups, I think.
Enough waffle - I shall now try to explain.
First, the sign-up averages are converted into points using a linear equation - similar to what Dan's been doing. The table of averages into points can be seen in the right-hand table in the attached image.
Second, the procedure I outlined above is applied, so that everyone's linear points gets normalised to a certain amount of points - at the moment 20.
Third, these points are converted into averages, but this uses the left-hand table - a so-called normal function, for those who like statistics. Basically, this has the effect of cluttering everyone around the "middle values" - 18 for batting, 35 for bowling - if they try to be all-rounders, while rewarding those with a bit more skill in one form.
A few examples of what this method actually turns out (bat/bowl/field ---> converted bat/bowl/field):
Gun all-rounder:
40/20/27 ---> 22.47/34.16/12
Gun all-rounder w/o fielding:
40/20/3 ---> 24.94/33.21/3
Batting all-rounder:
30/20/15 ---> 20.90/32.57/9
Specialist batsman:
50/50/3 ---> 45.51/39.2/3
Specialist bowler:
3/16/3 ---> 0.5/20.33/3.
I'm fairly pleased with it, but would appreciate comments. I'll also try to add in a random function in there somewhere.
Edit: Oh, and there's no need to do manual calculations - I've devised a spreadsheet for that.