Subject: | |
From: | |
Reply To: | |
Date: | Tue, 11 May 1999 14:53:02 EDT |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Efran writes:
> The criteria is as follows:
> An employee gets a bonus if he misses less than 160 Hours (a year).
> With a max. Amount of $1500.00 and a Min. Amount of $500.00 we want to
> give a bonus in a "curve" style where, if an employee misses zero hours
> he would get $1500.00 if he misses 159 hrs. he gets $500.00. Employees
> will be rewarded on the amount of hours they miss up to 160 hrs.
For a simple straightline calculation, the equation would be:
bonus = 1500 - 1000/160 * h
where h = hours missed and the "1000/160" is the slope of the line (delta y
divided by delta x). This equation is only good for hours missed ranging
between 0 and 160. An IF statement would need to be placed such that this
equation would be executed only if the hours lie between this range; else
bonus = 0.
For more of a curved calculation, so that those that miss very few hours are
rewarded more than those that miss a great deal, a simple exponential (in
this case, a square) will work:
bonus = 1500 - k * h^2
where k = sqr (1000/(160)^2), which is 0.1976423538. Other exponentional
powers will modify the shape of the curve more or less steeply, but are as
easily calculated. As above, an IF statement is still required because the
conditions have the 160 hour discontinuity in them.
Wirt Atmar
|
|
|