Live demo

24 segments in. 2 out.

One agent, 7 days, 23,240 requests and 1,045 errors, cut by tier, language, region and channel. The population rate is 4.5%. Sorted by raw rate, the top of the table is the segments with the fewest requests.

Population rate
4.5%
pooled, the bar every segment is tested against
Dashboard rule
5
segments above 9.0%, double the population
Real
2
above the population at q < 0.05
Prior strength
64 req
what the fitted prior is worth per segment
Every segment, sorted the way the dashboard sorts it
SegmentRequestsErrorsRawShrunk95%q
lang:nl50612.0%
7.8%2.9% to 12.7%0.084noise
channel:sms45511.1%
7.2%2.4% to 12.1%0.129noise
lang:ja4004411.0%
10.1%7.4% to 12.8%<0.001real
tier:enterprise1,8001699.4%
9.2%7.9% to 10.5%<0.001real
lang:it5559.1%
6.6%2.2% to 11.1%0.267noise
region:af-south4037.5%
5.7%1.2% to 10.1%0.575
region:ap-south250135.2%
5.1%2.6% to 7.5%0.792
channel:voice4025.0%
4.7%0.6% to 8.7%0.916
lang:fr18084.4%
4.5%1.9% to 7.0%0.973
region:us-east3,1001354.4%
4.4%3.6% to 5.1%0.844
region:eu-west1,200524.3%
4.3%3.2% to 5.5%0.897
channel:api900384.2%
4.2%3.0% to 5.5%0.844
channel:email12054.2%
4.3%1.4% to 7.2%0.916
tier:free5,0002044.1%
4.1%3.5% to 4.6%0.339
lang:en4,2001583.8%
3.8%3.2% to 4.3%0.104
tier:pro1,500533.5%
3.6%2.7% to 4.5%0.246
channel:web2,600913.5%
3.5%2.8% to 4.2%0.085
lang:es700243.4%
3.5%2.2% to 4.8%0.345
channel:slack500173.4%
3.5%2.0% to 5.0%0.437
lang:pt9033.3%
3.8%0.8% to 6.8%0.792
lang:de32082.5%
2.8%1.2% to 4.5%0.254
lang:ko4212.4%
3.7%0.1% to 7.2%0.762
region:sa-east6011.7%
3.1%0.1% to 6.2%0.497
region:ca-central4800.0%
2.6%0.0% to 5.5%0.319
Flagged by raw rate
5
Real after shrinkage and correction
2

The dashboard rule caught 2 of the 2 real segments and added 3 that were noise, 3 of them with 60 requests or fewer. Shrinkage moves each of those most of the way back to the population; the test and the correction remove what is left.

Assumptions, stated. Errors within a segment are treated as independent draws, so a retry storm from one customer would read as a segment. The prior treats segments as exchangeable, and the pooled rate includes the bad segments, which makes the bar slightly conservative. Against the rates injected into this scenario, the raw table carries a total squared error of 0.0185 and the shrunk table 0.0046. That reduction is the James-Stein result, and it holds every week.