As part of a software development project, I'm trying to find the correct mathematical approach for a statistics problem involving scores, weights and averages. Here's a simplified summary of the problem:

I have a security incident and I want to determine its overall severity on a scale of 0.0 to 10.0. I have 5 people who are experts in different security areas, and each individual has given me their own severity score for the incident on the same scale (0.0-10.0). The set of scores may look like so:

[0.4, 8.6, 2.4, 3.6, 3.8]

From these scores I need to determine the final incident severity score. However, the opinions of the 5 security experts are not of equal importance and should be weighted accordingly.

My initial approach involved using weights as a multiplier, so that the following scores and weights:

scores =   [0.4, 8.6, 2.4, 3.6, 3.8]
weights =  [0.5, 1.1, 1.0, 0.5, 0.5]

Would look like so, once the weights had been applied:

weighted_scores = [0.2, 9.46, 2.4, 1.8, 1.9]

I'm unsure though of how to reach a final score from these weighted scores. I can't simply find the arithmetic mean because a low score with a low weight means a greater effect on the final score, but I need the opposite to happen. In the case of the above set of weighted score; the lower the score, the lower its dampening effect should be on the final incident severity score.

I'm a complete mathematics novice (at best) so apologies in advance if this isn't clear. I'm not sure if mathematics alone can solve this problem. Some of it might need to be implemented at the software level.

  • $\begingroup$ So the standard way would be to calculate $$ \frac{ 0.5 \times 0.4 + 1.1 \times 8.6 + 1.0 \times 2.4 + 0.5 \times 3.6 + 0.5 \times 3.8 }{0.5 + 1.1 + 1.0 + 0.5 + 0.5 } \approx 4.38 $$ So you cannot use this? Or ... ? $\endgroup$ – Matti P. Jan 4 at 10:47
  • $\begingroup$ I would say that a low weight indeed has a very low effect on the weighted mean (the one which I calculated), so it should work just as you describe. That is, if I understood correctly what you want. Why do you say that "a low score with a low weight means a greater effect on the final score?" $\endgroup$ – Matti P. Jan 4 at 11:11
  • $\begingroup$ As @MattiP. mentioned, look up weighted mean. The score should be $$S=\frac{\sum_i w_is_i}{\sum_i w_i}$$ If the weight is very close to $0$, then you effectively average only the scores from the other experts. $\endgroup$ – Andrei Jan 4 at 19:44
  • $\begingroup$ I had considered this approach and while I think it should work, there's one requirement I also need to consider. Working with the same dataset, let's say that the score of 8.6 (which has a weight of 1.1) came from our most experienced security expert. If he says that the incident is reasonably significant (between 3.0 and 6.0) then his weight remains at 1.1. If however, he thinks it's really bad (6.0 to 10.0), then we're going to take his decision over everyone else's (or at least make is drastically more important). Is there a way to do this mathematically? thanks $\endgroup$ – Altire Jan 7 at 9:43
  • $\begingroup$ Maybe you have to create a weight function, so that $w_i = w_i(s_i)$ ... Or maybe you could also try something like a geometric mean (or some other type of mean) $\endgroup$ – Matti P. Jan 8 at 7:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.