Let's say I have 10,000 dollars I want divided among 10 people. With simple division each person gets $1,000. Easy enough.

Now suppose each person has a score on a test from 0 to 200. Now I want to divide the money among all the people but weighted by their score on the test, such that people who scored higher will get more money. How would I do that?

  • 171
  • 8

1 Answers1


Suppose that the test scores are $x_1,x_2,\dots,x_{10}$. Let $t$ be the sum of the test scores; then the first person’s share of the total is $\frac{x_1}t$, the second’s is $\frac{x_2}t$, and so on. These ten fractions add up to $1$, so just give person $k$ (for $k=1,2,\dots,10$)

$$10000\cdot\frac{x_k}t\text{ dollars}\;.$$

Brian M. Scott
  • 588,383
  • 52
  • 703
  • 1,170
  • 2
    Damn you have to get in quick to get ahead of Brian M. Scott. – Simon Hayward Dec 07 '12 at 23:09
  • Is there a way to tweak the weighting such that even with a large disparity in scores there will not be as large a disparity in the money amount? – User Dec 11 '12 at 07:40
  • 2
    @User: I used a linear weighting of the test scores, but other weightings are possible. You could, for example, replace $x_k$ by $y_k=\log x_k$ and apply the same algorithm to the numbers $y_k$; this would greatly flatten the top end, since multiplying a score by $10$ (if you’re using logs base $10$) would only add $1$ to the modified score. Or you could replace $x_k$ by $\sqrt{x_k}$, which would have a similar but less dramatic effect. You might try replacing $x_k$ by $y_k=x_k^\alpha$ for different values of $\alpha$ between $0$ and $1$ and choosing an $\alpha$ that gives ... – Brian M. Scott Dec 11 '12 at 07:59
  • ... satisfactory results. – Brian M. Scott Dec 11 '12 at 08:02