(w⁻, w⁺) ≡ [p + z²/2n ± z√p(1 – p)/n + z²/4n²] / [1 + z²/n].
The score interval is asymmetric (except where p=0.5
) and tends towards the middle of the distribution (as the figure above reveals). It cannot exceed the probability range [0, 1].
It is reddit's best comment sorting system, explained by xkcd author Randell Munroe.
Statistically, it is the lower bound of the Wilson Score interval at the alpha level based on supplied Z score.
confidence = wilsonScore(upvotes, downvotes, z);
The z score
is a statistical value which roughly means how many standard deviations of safety you want, so it maps directly onto the confidence level of the Wilson Score interval.
The point at which the cumulative distribution function of the standard normal distribution takes the value 1 - α/2. Equivalently, it is the point with respect to which α/2 of the probability mass (of the standard normal distribution) lies "to the right" and 1 - α/2 lies "to the left".
It will default to z=1.96
if left out, representing a 95%
confidence level in the lower bound. Otherwise, values through 1.0
(69%), to 3.3
(99.9%) good alternatives. Below is a table containing z
values at various confidence levels.
Confidence Level | z score |
---|---|
80% | 1.28 |
85% | 1.44 |
90% | 1.64 |
95% | 1.96 |
98% | 2.33 |
99% | 2.58 |
This project is released under MIT license