Skip to content
Back to Resources
Guide

Metrics That Mislead: Averages, Ratios, and Survivorship

Skopx Team
July 27, 2026
12 min read

Most misleading metrics are not lies. They are correct arithmetic applied to the wrong population, the wrong denominator, or the wrong shape of distribution. Nobody fudged the SQL. The number in the weekly deck is exactly what the query returned. It is still going to send your team in the wrong direction, and it will do so with more authority than a guess would, because it has a decimal point and a chart behind it.

This is a field guide to the four traps that account for most bad decisions made from good data: averages that describe nobody, Simpson's paradox, ratios whose denominators are doing the real work, and survivorship. Each one comes with a concrete business example and a diagnostic you can actually run.

Why misleading metrics survive in a weekly report

A metric becomes load-bearing long before anyone audits it. Someone writes a query for a one-off question. It gets pasted into a recurring report. The report gets a chart. The chart gets a target. Two quarters later, three teams are optimizing against a number whose definition nobody has read since it was written, and the person who wrote it has changed jobs.

Three structural forces keep misleading metrics alive:

Aggregation is compression, and compression is lossy. Every summary statistic throws away information on purpose. The question is whether it threw away the part that mattered. An average discards spread. A total discards mix. A rate discards volume. You cannot avoid this, but you can be deliberate about which loss you are accepting.

Definitions drift silently. "Active user" gets redefined when the product ships a new surface. "Closed won" gets redefined when sales reorganizes stages. The chart keeps its title and its y-axis. The break shows up as a trend, not as an error.

Nobody is incentivized to break their own number. If a metric is going up and you own it, the return on auditing it is negative. This is why metric review works better as a standing, boring, calendared ritual than as an act of individual heroism.

The rest of this guide assumes the arithmetic is right and looks at where the meaning goes wrong.

Averages: the trap that hides the shape

The arithmetic mean is a one-number summary that is only honest when the distribution is roughly symmetric and single-peaked. Business data is almost never either.

Bimodality: the average of two different things

Say a support team reports an average first-response time of 4 hours and the SLA target is 6 hours. Comfortable, apparently. Now split by channel: chat tickets get answered in about 10 minutes, and email tickets sit for about 9 hours. The average of 4 hours describes no ticket that has ever existed. It is the midpoint between two populations that share nothing but a table.

The decision consequence is immediate. Under the average, the team is passing and no action is needed. Under the split, there is an email queue quietly breaching a promise, and every hour spent shaving chat response time from 10 minutes to 8 is wasted effort.

Bimodality shows up wherever two mechanisms are mixed into one column: self-serve and enterprise deals in the same average contract value, mobile and desktop in the same average session length, first-time and repeat buyers in the same average order value, business days and weekends in the same daily average.

The diagnostic is a histogram, not a statistic. Before you trust any average, plot the underlying distribution once. If it has two humps, the average is a fiction and you need to report the segments. Our guide to examples of charts and choosing the right one for your data covers which chart forms actually reveal distribution rather than hiding it, which is the whole job here.

Skew: when the tail owns the mean

Revenue per account, page load times, time to resolution, and deal size are all right-skewed. A single enterprise renewal can drag average contract value up by a quarter while the typical customer's experience is unchanged.

Report the median plus a couple of percentiles instead. For latency, the p50 tells you what a normal request feels like and the p95 or p99 tells you what your angriest users are experiencing. An average latency of 300ms can hide a p99 of 12 seconds, and the p99 is the number that generates the support ticket.

A practical rule: if the mean and the median differ by more than about 20 percent, the mean is not a summary, it is an artifact of the tail. Report both and let the gap itself be the signal.

What to report instead

If your metric isThe average hidesReport this instead
Average response timeA slow channel or shiftMedian plus p95, split by channel
Average contract valueOne or two huge dealsMedian, plus the top-decile contribution separately
Average session lengthBots, tab-parkers, bouncesMedian for engaged sessions, with the bounce rate reported alongside
Average revenue per userFree-heavy and paid-heavy modesSegment means with counts, never a blended mean
Average time to closeDeals that never closedMedian for closed deals, plus open-pipeline age as its own metric

That last row is survivorship, which gets its own section.

Simpson's paradox: every segment improves, the total gets worse

This is the trap that makes people distrust data entirely, because it feels like arithmetic betraying them. An aggregate trend can point the opposite direction from every single subgroup trend inside it, and neither number is wrong.

The classic case

The canonical example is real and well documented. Bickel, Hammel, and O'Connell published an analysis in Science in 1975 of University of California, Berkeley graduate admissions for the fall of 1973. In aggregate, men were admitted at a noticeably higher rate than women, roughly 44 percent against roughly 35 percent. Department by department, the pattern largely reversed or vanished: most departments admitted women at a rate equal to or higher than men. The aggregate gap came from where people applied. Women applied in larger numbers to departments with low admission rates for everyone, and men applied in larger numbers to departments that admitted a high share of all applicants. The mix, not the treatment, produced the headline.

Where it shows up in business

Same mechanism, different table:

Conversion rate. Your self-serve funnel converts at 5 percent, your sales-assisted funnel at 25 percent. Both improve this quarter, to 6 percent and 26 percent. Meanwhile a paid campaign floods the top of the self-serve funnel with volume. The blended conversion rate falls. Marketing gets blamed for a drop that is actually two improvements plus a mix shift.

Support quality. Every agent's CSAT rises. Team CSAT falls, because the two highest-scoring agents went on leave and their ticket volume redistributed to newer agents whose scores, though improving, are lower.

Cohort retention. Every acquisition cohort retains better than the one before it. Overall retention drops, because you acquired a very large recent cohort and early-life churn is always highest.

Regional margin. Margin improves in every region. Company margin falls, because the lowest-margin region grew fastest.

The fix: watch the mix, not just the rate

The defense is structural, not statistical. Any rate you report at the top level needs its numerator, denominator, and segment weights visible somewhere. If you only take one habit from this article, take this one: never show a blended rate without also showing how the mix moved.

Concretely, that means a report with three columns per segment (count, outcome count, rate) and a blended row at the bottom, rather than a single blended number on a slide. When the blended rate moves opposite to the segment rates, that is not a bug to hide. It is the most informative thing on the page, because it tells you your business changed composition.

Getting segmentation right at the query layer matters here. Segment definitions written inline as conditional logic tend to fragment across a dozen reports, which is exactly how two teams end up with different definitions of "enterprise". Our guide on SQL CASE WHEN patterns, pitfalls, and better alternatives covers moving those definitions into a single mapping table so every report segments the same way.

Ratio traps: the denominator is doing the work

A ratio is two metrics wearing one coat. When it moves, you have learned nothing until you know which half moved.

The unstable denominator

Conversion rate went from 3 percent to 4 percent. Cause for celebration, or did traffic drop by a quarter while conversions held flat? Both produce the same chart. A ratio that improves because the denominator shrank is usually bad news dressed as good news, and it is one of the most common misleading metrics in growth reporting.

The fix is trivially easy and almost never done: plot the numerator and denominator as their own series next to the ratio. Three lines, one chart, no ambiguity. If you want a fourth signal, add the absolute change in each. Different types of charts and when each one works has more on combining a rate and its components in one readable view without producing a dual-axis mess.

The wrong-population denominator

"Email open rate" divided by all sends includes addresses that hard-bounced. "Feature adoption" divided by all accounts includes accounts that never had access to the feature, or were provisioned last Tuesday. "Support tickets per customer" divided by total customers includes customers on a plan with no support entitlement.

Each of these systematically understates the real rate, and the size of the understatement changes over time as the ineligible population grows. That gives you a metric that trends downward for purely administrative reasons. Define the denominator as the population that could plausibly have produced the numerator, and write that definition into the metric's documentation.

Ratios of ratios, and per-something metrics

"Cost per acquisition divided by lifetime value" is a ratio whose two components are themselves ratios built on modeled assumptions. By the time it reaches a slide, four estimates have compounded and nobody can say which one moved. Treat compound ratios as directional only, and never set a target on one without an agreed, versioned definition of every input.

The same applies to any "per employee", "per seat", or "per store" normalization. Normalizing by headcount makes a team look more efficient the moment it loses people, regardless of output.

Survivorship: the sample that deleted itself

Survivorship bias is the only trap on this list where the missing data is invisible by construction. You are not looking at a biased sample. You are looking at a sample that had its counterexamples removed before you arrived.

The original story is genuinely instructive. During the Second World War, the Statistical Research Group at Columbia examined returning aircraft to decide where to add armor. The damage clustered on wings and fuselage. The statistician Abraham Wald pointed out that the correct conclusion was the opposite of the obvious one: armor belonged where the returning planes were not hit, because planes hit in those places did not return to be measured.

Where survivorship hides in your stack

Average deal cycle time. If you compute it over closed-won deals only, you have measured the deals that closed. Long-running deals that stalled and died are excluded, so the average is optimistic and gets more optimistic the faster you disqualify. Report the cycle time for closed deals and the age distribution of open pipeline.

Customer satisfaction. NPS and CSAT are answered by people who still care enough to respond. Customers who left rarely fill in the survey. A rising score during a period of rising churn is close to a definition of survivorship: the unhappy population is being removed from the sample, not converted.

Cohort revenue. "Average revenue per account among accounts still active after 12 months" always looks strong. It has to. The accounts that failed are gone. Compare against the full original cohort, counting churned accounts as zero, or you are measuring the survivors' club.

A/B test results. If a variant causes some users to bounce before the measurement event fires, the remaining users in that variant are a self-selected, more committed group. The variant can look better on downstream engagement while being worse overall.

Historical performance data. Any "top performers" analysis over current employees, current customers, or current products excludes everyone who did not make it. The traits shared by survivors are not automatically the traits that cause survival.

The general antidote: for any metric computed over a filtered population, write down the filter and ask what the excluded rows would have contributed. If the answer would change the conclusion, the metric needs the excluded rows counted as zeros, or it needs a companion metric that tracks the exclusions themselves.

A field checklist for catching misleading metrics

Run this against any number that has a target attached to it.

TrapSymptom on the chartDiagnostic to runFix
Bimodal averageFlat, comfortable line that nobody recognizes from experiencePlot the histogram onceReport segments separately, never a blended mean
Skewed averageMean and median diverge by more than about 20 percentCompare mean to median and p90Report median plus percentiles
Simpson's paradoxAggregate trend contradicts what segment owners are seeingRecompute the rate within each segment, then compare segment weights across periodsShow count, outcome, and rate per segment; never a bare blended rate
Unstable denominatorRatio improves during a quiet periodPlot numerator and denominator as separate seriesAlways publish the ratio's components
Wrong-population denominatorRate drifts slowly downward with no operational causeCount how many denominator rows were eligible to convertRestrict the denominator to the eligible population
SurvivorshipMetric computed only over completed, active, or successful recordsRead the WHERE clause out loudCount the excluded rows as zeros, or track exclusions as their own metric
Definition driftA step change at a date that matches a release or reorgDiff the metric definition across versionsVersion metric definitions and annotate charts with change dates

The last row is worth its own habit. Keeping metric definitions in one place, versioned, with a named owner, prevents more bad decisions than any amount of statistical sophistication. If your definitions live in twelve dashboards and a spreadsheet, start there. Data modelling tools and picking one for how your team works walks through the options for making a definition layer that reports actually read from.

Where tooling honestly helps, and where it does not

No tool detects a misleading metric for you. Simpson's paradox is not a data quality error, and survivorship is not a null value. What tooling can do is lower the cost of the checks so they actually get run, and make the checks recurring instead of heroic.

Two things reliably help. First, being able to ask the segmented question in plain language, without opening a BI tool and building a new view, so that "is this blended rate hiding a mix shift" takes thirty seconds instead of an afternoon. Second, having the check run on a schedule so the paradox surfaces the week it appears rather than the quarter someone gets suspicious.

This is where Skopx fits. It connects to nearly 1,000 business tools, and it queries PostgreSQL, MySQL, and MongoDB directly in chat, with answers that cite their source. So you can type the segmentation check as a sentence:

For each of the last six months, show signups, paid conversions, and conversion rate for self-serve and sales-assisted separately, plus the blended rate, and flag any month where the blended rate moved in the opposite direction from both segment rates.

What comes back is a table with one row per month per segment, the blended row underneath, and the contradicting months called out, along with the source each figure was pulled from. That is the Simpson's paradox check, run in the time it takes to ask.

You can then make it permanent. Skopx workflows are automations you build by describing them in chat rather than dragging boxes around a canvas. A schedule trigger runs the same segmented query weekly, an if/else condition checks whether the blended and segment directions disagree, and a message goes to the channel where the metric owner will see it. Workflows are capped at 20 steps, have no human-approval or custom-code steps, and any AI step runs on your own provider key, so a mix-shift monitor fits comfortably and an entire data platform does not.

Being straight about the boundary: Skopx is not a BI tool. It does not build dashboards or drag-and-drop visualizations, and it is not a warehouse or an ETL platform. If your job today is to build a governed semantic layer and a suite of charts, use a dedicated BI tool for that. Skopx is for the layer around it: asking the question, catching the drift, and getting told when a number starts lying to you. Skopx catches what falls between your tools.

Pricing is straightforward and there is no free tier: Solo is $5 per month and Team is $16 per seat per month with no seat cap, billed from day one. Details are on the pricing page, and the integrations directory lists what it connects to.

Frequently asked questions

What are misleading metrics?

Misleading metrics are numbers that are computed correctly but support a false conclusion, usually because of how they aggregate. The four most common causes are averages applied to skewed or two-peaked distributions, aggregate rates that reverse the direction of every underlying segment (Simpson's paradox), ratios whose denominators changed rather than their numerators, and metrics computed over a population that already had its failures filtered out (survivorship). None of these are calculation errors, which is exactly why they survive review.

How do I know if an average is hiding something?

Two quick tests. Compare the mean to the median: a large gap means a skewed tail is pulling the mean, so report the median and percentiles instead. Then plot the histogram once: if it has two peaks, you are averaging two different populations and should report them separately. If you cannot plot it, ask whether the number matches anyone's lived experience. An average that no individual case resembles is a signal, not a summary.

Is Simpson's paradox common in business data, or just a textbook curiosity?

It is common, because it requires only two conditions that businesses produce constantly: subgroups with different baseline rates, and a change in the mix of those subgroups. Any campaign that shifts traffic sources, any reorg that shifts ticket routing, any expansion into a new region or plan tier can trigger it. The reason it feels rare is that most reporting shows only blended rates, so the paradox happens without ever becoming visible.

What is the fastest way to check for survivorship bias?

Read the filter on the query out loud. "Average cycle time for deals that closed" and "satisfaction score among customers who responded" both announce their own bias once spoken. Then ask what the excluded rows would have contributed if they were included as zeros or as failures. If including them would change the decision, the metric needs to be recomputed over the full population or paired with a metric that tracks the exclusions.

Should I ever report a single blended rate?

Only alongside the segment counts and rates that produced it. A blended rate on its own is fine for a stable business with a stable mix, and almost every business that reports one does not have a stable mix. The practical rule is to make the mix visible in the same view. If that makes the slide busier, that is the honest cost of the number being interpretable.

Can Skopx build the charts for these checks?

No. Skopx does not build dashboards or visualizations, and it would be dishonest to suggest otherwise. What it does is query your databases and connected tools in chat, return segmented tables with sources cited, and run those checks on a schedule through workflows so a mix shift or a survivorship problem gets flagged when it appears. For the charting layer itself, use a dedicated BI tool.

Share this article

Skopx Team

The Skopx engineering and product team

Related Articles

Stay Updated

Get the latest insights on AI-powered code intelligence delivered to your inbox.