I'm sure the title itself is puzzling. But my problem is quite simple: I'm looking for a class of functions, that can combine several variables(all of them are within known ranges), given their values as input the function varies its output from 0 to 1 depending on how close these variables are to their maximums/minimums.

Hope this example will clarify what i'm trying to do:

  • MinDamageSize is between 0 and 1, and its preferable value is 0
  • MaxCashCompensation is between 1000 and 2000, and, as the name suggests, 2000 is preferable.
  • MonthlyPayment is between 350 and 600 and 350 is preferable.

So i'm looking for a function F(MinDamageSize, MaxCashCompensation, MonthlyPayment) with following conditions on the ends:

  • F(1,1000,600) = 0
  • F(0,2000,350) = 1

And this function must have some interesting shape which is hard to guess. It represents market demand in insurance company game simulator.

I know i can use function that sums distances of variables from their desired values, but in my opinion it is too simple.

Can anyone suggest what class of functions i should use? Thanks in advance


2 Answers 2


For combining the three numbers into a net "satisfaction index", or a score, the immediate step might be to assign weights to each type of data - for example MonthlyPayment might be considered a greater source of satisfaction (to a rational player of course!) than say MaxCashCompensation!
Thus at the end of this imporovement your score would be $f(d_1,d_2,d_3)\mapsto f(w_1d_1,w_2d_2,w_3d_3) $, I hope the fact that f,d,w are the metric,the data,weight respectively is obvious.

The only other improvement to this scheme might be to consider the statistics from a real world situation. For example if the MonthlyPayment variable is very sharply distributed around some value (for other players)- this would mean that the score/satistisfaction index fails to vary appreciably among players!
A simple way to achieve this might be to fashion a "statistical weight" or "distribution weight" which is the **integral of the probability distribution function** corresponding to that data

Be warned though, I am a yet physics student paying his dues - I don't have any experience with designing a score ever, but I believe if the design goals are clear it should suffice. Please reply more to this - I'm interested!


First you can scale each variable into the range 0 to 1 with 1 being good. This can be done simply linearly, or you can apply any transformation to make it more complicated. Then you can raise each scaled variable to any power you want- high powers will drive things toward 0, those less than 1 will raise things toward 1. Then multiply the resulting numbers and see if you like the result. For a specific example, scaled Monthly Payment=(600-Monthly Payment)/(600-350). Maybe rescaled Monthly Payment=(scaled Monthly Payment)^2


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .