OMBA 102 · Unit 2 · Lesson 3 of 5
Percentiles and Distribution Shape
Describing Business Performance
Lesson
Executives want one number; operators need the full shape
Northwind Analytics shipped a dashboard tile: "API latency: 85 ms average." Product leadership declared performance healthy. Customer success escalations told a different story: enterprise clients in the worst 1% of requests saw multi-second delays that broke contractual SLAs (service level agreements, promised performance standards). The mean was true as an arithmetic fact and false as a customer experience summary. What the team lacked was distribution literacy: the ability to read where data mass sits, how heavy the tails are, and whether one average hides two distinct populations.
A percentile locates a value relative to the rest of the distribution. The 50th percentile is the median from Lesson 1. The 90th percentile (p90) is a value such that 90% of observations are at or below it. Percentiles translate directly into capacity plans ("staff for p90 call volume") and engineering targets ("p99 latency under 500 ms"). Distribution shape describes the overall geometry: symmetric or skewed, single-peaked or bimodal, thin-tailed or fat-tailed. Shape explains why mean and median diverge and why variance formulas from Lesson 2 mislead when copied from textbook normal curves.
This lesson connects center and spread to the way real business data actually looks. You will compute and interpret percentiles and quartiles, diagnose skewness, recognize kurtosis (tail weight) in plain language, and detect bimodality that screams "segment me." Lesson 4 will show these shapes in histograms and box plots; Lesson 5 will place p90 and p99 tiles on management dashboards with thresholds.
SLA design without percentiles fails in practice. A vendor promising "average latency under 200 ms" can satisfy the contract while p99 = 2,400 ms drives enterprise churn. Regulated fields encode p90 or p99 explicitly; business managers should too because customer trust concentrates at the tail. Percentiles translate Lessons 1 and 2 into auditable weekly promises.
Percentiles and quartiles: ranking the business
To find the pth percentile in a finite sample:
- Sort data ascending.
- Compute index position: i = (p/100) × n (methods vary slightly; we use linear interpolation between adjacent ranks when i is not integer).
- If i is integer, average the value at rank i and i+1 in some conventions; otherwise interpolate.
For management fluency, exact interpolation debates matter less than consistent definitions within your company. Document whether your BI tool uses nearest rank or linear interpolation. Compare week to week with the same rule.
| Term | Definition |
|---|---|
| p50 / Q2 | Median; half of observations at or below |
| p90 | 90% at or below; common ops planning cutoff |
| p99 | 99% at or below; tail SLA for tech systems |
| Q1 / p25 | First quartile |
| Q3 / p75 | Third quartile |
| IQR | Q3 − Q1 (Lesson 2) |
| Top decile | p90 and above |
| Interdecile range | p90 − p10 |
Compensation committees benchmark executive pay to median and 75th percentile market rates, not mean, because pay data is right-skewed. Customer success leaders track p95 time-to-resolve because mean time hides angry outliers.
Example read: Latency p50 = 80 ms, p99 = 2,400 ms. Typical user fine; worst 1% unusable. Optimize tail infrastructure, not average CPU.
Skewness: when the tail pulls the mean
Skewness measures asymmetry. In right-skew (positive skew in many software packages), a long tail extends toward high values: revenue per customer, deal size, hospital stay length. Left-skew tails toward low values: easy exam scores (most high, few low), days-to-complete when most finish early.
Zero skew is symmetric; rare in raw business metrics but common after thoughtful transformations (log revenue).
Rule of thumb linking Lesson 1 and Lesson 2:
- Right skew: Mean > Median. SD inflated by upper tail.
- Left skew: Mean < Median.
Skew is why Lesson 2 warned against blind ±2 SD rules. Skew is why Lesson 1 insisted on reporting median with mean.
Managers do not need to memorize skew formulas. They need to look, compute median and mean, and if separated, ask which tail drives risk.
Right-skew examples in business: revenue per account (many small, few enterprise), session length (many short, some binge), medical claim size, insurance loss severity. Left-skew examples: exam scores when test is easy, completion times when most teams finish early, customer ratings when product is beloved but a few hate it. In each case, the tail direction tells you which stakeholder gets hurt by using the wrong center statistic.
When you present skew to executives, use a histogram or box plot (Lesson 4) plus three numbers: mean, median, p90. The visual prevents arguments about whether skew "really" matters. The three numbers anchor the conversation in arithmetic.
Kurtosis: tail weight and "black swan" exposure
Kurtosis describes whether tails are heavier or lighter than a normal (bell-shaped) reference. Leptokurtic distributions have fat tails: more extreme events than the normal curve suggests. Financial returns and fraud amounts often show excess kurtosis. Risk managers care because variance-based models understate crash frequency if tails are fat.
You will see kurtosis reported in analytics tools as "excess kurtosis" (normal = 0). Positive excess kurtosis → fatter tails. Do not overfit the number. Treat it as a flag to stress-test scenarios beyond mean ±2 SD.
Bimodality: two peaks, one misleading average
A bimodal distribution has two distinct peaks, suggesting latent segments merged in one report. Support tickets resolving in either 1 hour (simple) or 48 hours (escalated) produce bimodal shape. A single mean near 12 hours implies a 12-hour SLA is achievable with one process. Reality requires two workflows.
Detection cues:
- Histogram with two humps (Lesson 4)
- Median between modes but few observations near median
- "Average customer" narrative fails qualitative interviews
NPS (Net Promoter Score, a customer loyalty index from survey responses) often looks bimodal in practice: clusters of detractors and promoters with few passives. Moving passives to promoters lifts the average while a detractor cluster still signals product crisis. Shape beats mean optimization.
Operational bimodality also appears in manufacturing when a machine runs in two speeds (setup vs production), in sales when inbound leads split inbound PLG vs outbound enterprise, and in support when chat bots resolve easy tickets instantly while humans handle hard ones. In each case, pooling creates a fake middle that no customer actually experiences. The fix is segmented SLAs: p90 for tier 1, p99 for tier 2, not one blended p90.
When testing for bimodality with small samples, be humble. Two humps on n = 15 may be noise. Require larger n or strong qualitative segment evidence before reorganizing teams.
From numbers to shape summary
A minimal shape report for any KPI:
- n and time window
- Mean and median (skew diagnostic)
- p90 or p99 if ops/tech tail risk
- Visual (histogram or box plot)
- Segment check if bimodality suspected
This five-line habit prevents most executive misreads.
Percentile calculation methods in BI tools
Different BI (business intelligence) tools use slightly different rules for fractional ranks. The two most common are:
Nearest rank: Round up to the next data point. Simple, conservative for SLAs ("at least this bad").
Linear interpolation: Estimate between adjacent ranks (used in this lesson's worked examples).
Example with five latencies: 10, 20, 30, 40, 100 ms.
- Nearest rank p90 = 100 ms (5th point).
- Linear interpolation p90 ≈ 82 ms (between 40 and 100).
Neither is "wrong" if documented. Northwind policy: use linear interpolation internally; report p99 to customers with nearest rank so SLAs are conservative.
When sample size n is small (under 20), treat extreme percentiles (p99) as noisy. A single observation can define p99. Report n beside every percentile tile.
In weekly business reviews, require the analytics lead to state n aloud when percentiles move. A p99 latency "improvement" from 2,400 ms to 900 ms on n = 20 may be one fewer outlier, not infrastructure success. Larger samples separate signal from noise.
Lesson 2 link: IQR describes middle spread; p90 and p99 describe tail spread. Use IQR for typical ops bands; use p99 when contracts penalize worst-case service.
Histogram bin width and shape discovery
Before claiming unimodal or bimodal, inspect a histogram. Bin width choice matters:
- Too wide: Two peaks collapse into one hump; bimodality hidden.
- Too narrow: Random noise looks like many peaks.
Practical starting rules: Sturges' rule (approximate bin count = 1 + 3.322×log₁₀(n)) or fixed meaningful bins ($10k deal bands, 10 ms latency bands). Iterate: if median sits in a valley between two humps, suspect bimodality and segment.
For Northwind deal sizes (Lesson 1), bins of $10k might show one hump at $15k–$45k and a separate point at $500k (outlier), not true bimodality but outlier segment worth labeling.
Skewness and kurtosis in executive language
Translate statistics to board language:
| Shape signal | Numeric clue | Executive sentence |
|---|---|---|
| Right skew | Mean >> median | "A few large deals lift the average; typical deal is lower." |
| Left skew | Mean << median | "Most customers score high; a few low scores drag average down." |
| Fat tails | High p99 vs p50 | "Typical experience fine; worst cases need separate plan." |
| Bimodal | Two histogram peaks | "We have two customer types; one policy will not fit." |
You do not need to report skewness coefficient g₁ unless your analytics team standardizes it. Focus on mean/median gap and percentile spread (p99 − p50).
Linking shape to Lessons 1 and 2
| Lesson | Statistic | Shape connection |
|---|---|---|
| Lesson 1 center | Mean vs median gap | Diagnostic for skew |
| Lesson 2 spread | SD inflated | Right tail drives variance |
| Lesson 3 | p90, p99 | Tail planning without normal assumptions |
| Lesson 4 | Histogram, box plot | Visual proof for skeptics |
Worked example: Northwind API latency percentiles
Engineering logged 20 API request latencies (milliseconds) during a peak hour:
40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 110, 120, 150, 200, 400, 800, 2,400
n = 20. Data sorted.
Part A: Mean and median (skew setup)
Sum = 40+45+50+55+60+65+70+75+80+85+90+95+100+110+120+150+200+400+800+2,400 = 3,990 ms
Mean = 3,990 / 20 = 199.5 ms
Median = average of 10th and 11th values = (85 + 90) / 2 = 87.5 ms
Mean ≈ 2.3× median → strong right skew ✓
Part B: Quartiles and IQR
Position for Q1 (p25): 0.25 × 21 = 5.25 → between 5th (60) and 6th (65)
Q1 ≈ 60 + 0.25×(65−60) = 62.5 ms
Q3 (p75): 0.75 × 21 = 15.75 → between 15th (150) and 16th (200)
Q3 ≈ 150 + 0.75×(200−150) = 187.5 ms
IQR = 187.5 − 62.5 = 125 ms
Middle half spans 62.5 to 187.5 ms while tail reaches 2,400 ms.
Step-by-step Q1 logic: With 20 sorted points, the 25th percentile position is 0.25 × (n + 1) = 5.25, meaning we are one-quarter of the way from the 5th observation (60 ms) to the 6th (65 ms). Linear interpolation adds 0.25 × (65 − 60) = 1.25 ms to 60, yielding 62.5 ms. Q3 uses the 75th percentile position 15.75, one-quarter of the way from the 15th observation (150 ms) toward the 16th (200 ms): 150 + 0.75 × 50 = 187.5 ms. Document this rule in your analytics wiki so engineering and finance compute the same quartiles.
Part C: p90 and p99
p90 index: 0.90 × 21 = 18.9 → between 18th (400) and 19th (800)
p90 ≈ 400 + 0.9×(800−400) = 760 ms
p99 with 20 points: use max or interpolate from upper tail; p99 ≈ 2,000–2,400 ms range. Report p99 = 2,400 ms (nearest rank conservative for SLA).
Check: p50 (87.5) << mean (199.5) << p99 (2,400). ✓
Part D: Managerial read
| Metric | Value | Decision use |
|---|---|---|
| Mean | 199.5 ms | Misleading "headline health" |
| p50 | 87.5 ms | Typical user experience |
| p90 | 760 ms | Capacity planning for heavy requests |
| p99 | 2,400 ms | SLA penalty risk; optimize tail |
Board question: "Are we fast?" Answer with p50 and p99, not mean. Action: Cache layer for outliers; set SLA at p99 < 500 ms with error budget tracking.
Worked example: NPS shape and detractor cluster
Northwind surveyed 100 customers (0–10 scale simplified to classes):
| Score band | Class | Count |
|---|---|---|
| 0–6 | Detractor | 40 |
| 7–8 | Passive | 10 |
| 9–10 | Promoter | 50 |
Assign band midpoints for a crude mean illustration: detractors 3, passives 7.5, promoters 9.5.
Part A: Weighted mean NPS-style average
Sum of scores ≈ 40×3 + 10×7.5 + 50×9.5 = 120 + 75 + 475 = 670
Mean score = 670 / 100 = 6.7
Promoters dominate count, so mean looks below promoter peak but above detractor mass.
Official NPS = %Promoters − %Detractors = 50% − 40% = +10 (modest positive).
Part B: Shape read
Distribution is bimodal: mass at low (0–6) and high (9–10), thin middle (7–8). Mean and NPS summary hide 40% crisis cluster.
Passives-to-promoters program (+5 passives become promoters): promoters 55, passives 5, detractors 40.
New mean ≈ (120 + 37.5 + 522.5)/100 = 6.8 (tiny mean move)
NPS = 55 − 40 = +15 (better headline, same detractor crisis)
Part C: Percentile view
p40 ≈ score 6 (40% detractors). p50 near 9 because promoter mass crosses mid-rank. Median does not represent a typical customer sentiment; bimodality breaks "middle" intuition.
Part D: Strategy
Fix detractor drivers (onboarding failures, data sync bugs) before optimizing passives. Dashboard should show band counts, not one average star rating. Lesson 4: use stacked bar or histogram, not single KPI tile.
Part E: Detractor-focused counterfactual
If all 40 detractors improved to passive (7.5) with no other movement:
Promoters 50, passives 50, detractors 0.
New sum = 50×9.5 + 50×7.5 = 475 + 375 = 850, mean 8.5.
NPS = 50% − 0% = +50, a stellar headline.
Product defects causing detractors might still exist; the survey moved but underlying bugs may not. Shape-first leaders fix onboarding and sync failures before celebrating NPS.
Worked example: Compensation benchmarking with percentiles
Northwind surveys market base salary ($000s) for Senior Analyst at 12 firms:
85, 88, 90, 92, 95, 98, 100, 102, 105, 110, 115, 280
One outlier (280) is a hedge fund satellite office, not comparable to Northwind's labor market.
Part A: Mean vs median
Sum = 1,360, mean = 113.3
Median = (98 + 100)/2 = 99
Mean exceeds median by 14%; right skew from outlier ✓
Part B: Quartile band
Q1 ≈ 90.5, Q3 ≈ 107.5, IQR = 17
p90 ≈ 115 (between 110 and 115 by rank)
Part C: Offer policy
- New hire target: p50 ≈ $99k
- Retention counter-offer ceiling: p75 ≈ $108k
- Outlier 280 excluded from band with documented reason
Part D: HR read
Quoting "market average $113k" overpays vs peer tech firms and compresses internal equity. Percentile band communicates market center honestly.
Offer letter narrative: "We target p50 market ($99k) with performance band to p75 ($108k) for retention events." Avoid "above average" without defining average. Finance headcount model uses mean fully loaded cost, not p50, for budget totals; HR and finance each get the statistic matched to their decision.
Check: 12 firms stated; outlier 280 flagged ✓
Common mistakes beginners make
| Mistake | Reality |
|---|---|
| "Average latency improved" from mean only | Report p50 and p99; mean hides tail SLA breaches. |
| Treating p90 as "worst case" | 10% of events exceed p90; for worst case use max or p99.9. |
| Ignoring bimodality in customer metrics | Segment workflows; one process rarely fits two peaks. |
| Applying normal-curve language to skewed revenue | Mean/median gap and histogram come first. |
| Changing percentile definition week to week | Standardize BI interpolation; document method. |
| Optimizing mean NPS by nudging passives | Detractor cluster may be product failure, not survey noise. |
| Using kurtosis number without scenario test | Fat tails mean stress tests beyond ±2 SD. |
Practice problem
FleetCo recorded 15 delivery times (hours) for a new route:
4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 10, 12, 36, 48
- Compute mean and median. Is the distribution right-skewed?
- Find Q1, Q3, and IQR.
- Estimate p90 using linear interpolation (n=15, index = 0.90×16 = 14.4).
- FleetCo's SLA says "95% of deliveries under 10 hours." What percent of this sample meet the SLA? Does mean delivery time support the SLA narrative?
Solution
1. Mean and median
Sum all observations: 4+5+5+6+6+6+7+7+8+8+9+10+12+36+48 = 177 hours total across 15 deliveries.
Mean = 177 / 15 = 11.8 hours.
With 15 values (odd n), median is the 8th value in sorted order: 7 hours.
Mean (11.8) > median (7) by 4.8 hours, so the distribution is right-skewed. The long tail (36 and 48 hour deliveries) pulls the mean upward while half of deliveries finish in 7 hours or less.
2. Quartiles and IQR
Sorted data position for Q1 at 25% of 16 = 4th value = 6 hours.
Q3 at 75% of 16 = 12th value = 10 hours.
IQR = Q3 − Q1 = 10 − 6 = 4 hours. The middle half of deliveries span only four hours, showing tight core performance masked by tail delays.
3. p90 estimate
Index = 0.90 × 16 = 14.4 → interpolate between 14th value (36) and 15th (48):
p90 ≈ 36 + 0.4 × (48 − 36) = 36 + 4.8 = 40.8 hours.
Nine in ten deliveries complete within roughly 41 hours on this route; tail events dominate extreme percentiles.
4. SLA compliance
Deliveries under 10 hours: twelve values (4 through 10) out of 15 = 80%, not the promised 95%.
Mean 11.8 hours exceeds the 10-hour threshold, consistent with SLA failure. A mean-based SLA would be doubly misleading here: the mean exceeds 10 while even median (7) looks compliant. Percentile-based SLAs (e.g., p95 < 10 hours) align incentives with customer experience.
Practice problem 2
Explain in a short paragraph: A SaaS (Software as a Service, subscription software) company's monthly logo churn has mean 2.1%, median 1.4%, p90 5.8%, with strong right skew.
- Which single number would you show the CEO for "typical" churn?
- Which would you show customer success for escalation risk?
- Could churn be bimodal? What would you check?
Solution
1. Median 1.4% as typical month; pair with mean for aggregate portfolio math if needed.
2. p90 5.8% (or p95 if available) for tail risk: worst cohort months drive NRR collapse.
3. Yes. Check histogram by customer segment (SMB vs enterprise). Two peaks (low-churn enterprise, high-churn SMB) would show bimodal pooled data. Segment before one company-wide churn mean.
Plot churn by cohort vintage: if 2023 SMB cohort clusters high while 2024 enterprise clusters low, pooled mean churn is unactionable. Dashboard should show segmented percentile bands, not one company number.
Integrative review: shape report template
Copy this template into your analytics wiki for any KPI review:
Metric: [name] · Window: [dates] · n: [count]
Center: mean ___ , median ___ (gap indicates skew if unequal)
Spread: SD ___ , IQR ___ , range ___
Tail: p90 ___ , p99 ___
Shape call: [symmetric / right-skew / bimodal suspected]
Segmentation: [dimensions checked]
Decision impact: [quota / SLA / capacity / pricing]
Northwind API latency example fills this template: mean 199.5, median 87.5, p99 2,400 → right-skew, optimize tail, do not headline mean.
Use this template in weekly analytics standups until shape reporting becomes habit. Resist the urge to delete rows when numbers look "fine"; the gap between mean and median is often the most valuable row on the sheet.
Key takeaways
- Percentiles translate directly to SLAs, staffing, and engineering targets (p90, p99).
- Skew explains mean vs median gaps; always diagnose before choosing center.
- Bimodality signals hidden segments; one average policy usually fails.
- Kurtosis warns that tail events may exceed normal-curve intuition.
- Report shape (mean, median, key percentiles, chart) not a lone average.
After this lesson
- Name one p99 metric your team should track but does not. Define the SLA it would support.
- Find a KPI that might average two customer segments. How would bimodality change your strategy?
- Continue to Lesson 4: Visualizing Business Data.
Before your next staff meeting, pick one metric and draft the five-line shape report from the integrative review section. Bring mean, median, and p90 even if you do not yet have a chart.
Lesson exercise
40 minApply: Percentiles and Distribution Shape
Deliverable
One-page workbook entry or memo section filed under OMBA 102 Unit materials.
Rubric
- • Decision frame is specific and time-bound
- • Framework applied with auditable steps
- • Downside case is plausible, not strawman
- • Guardrail metric defined with owner
- • Recommendation links to evidence quality label