I'm looking for a way to calculate the weighted average of a range of numbers, but where the lowest need to be 5% (and thus the total still needs to be 100%).

Let me try to explain:

```
[
0.98077,
0.99038,
0.99279,
0.99279,
0.99519
]
```

Weighted average is simple:

```
total = +- 5
And each is about 19-20%
```

The problem I'm having with this is that there is too little difference to differentiate between a good and the best. They're all the same (on a piechart).

So what I was thinking is: Let's assume the minimum = 5%.

So: 0.98077 = 5%

But how to display this on the piechart? How can I calculate the other percentages?

Though their relative sizing should stay the same.

In this way I'm hoping that you will see a bigger difference.

I was thinking to remove the minimum from all of them:

```
[
0.0
0.009610000000000007,
0.01201999999999992,
0.01201999999999992,
0.014419999999999988,
]
```

But then I'm getting as weighted average:

```
[
0.0,
0.19991678801747537,
0.25005200748907763,
0.25005200748907763,
0.2999791970043694,
]
```

Which is already closer to what I need as now the differences are much better visible. However, the 0% isn't visible anymore.

So this part I want it to be 10%.

This is how it looks when drawing in excel. It's very visible the minimum is not as good as the others.

Thanks!

## Best Answer

numbers = [1, 2, 3, 4, 5]

total = 15

set specific number (e.g. 1) to be a certain weight e.g. 10%

Now you have 90% left to distribute among a total of 15-1=14

Now redistribute the weights for the remaining numbers:

[0.10 (10% for the first number), 2/14 * 0.9, 3/14 * 0.9, 4/14 * 0.9, 5/14 * 0.9]

Is this what you want?