thoughts-by-sid

Outliers Aren't Noise They're the Signal You're Ignoring

November 25, 2025 10 min read

Outliers Aren’t Noise—They’re the Signal You’re Ignoring

You’ve seen it a hundred times. A data point so far from the mean that your first instinct was to squint at it, check the logs, and mutter “that can’t be right.” Your model’s MSE is getting wrecked by one observation. Your beautiful distribution has a long tail that refuses to behave. So you do what every statistics textbook taught you: you remove it.

You just deleted the most important signal in your dataset.

Let me take you on a journey from Statistical Thinking 101 to the uncomfortable truth about how the world actually works. Spoiler: it’s not normally distributed, and the things that matter most happen in the tails you’re trimming.


The Lie We Tell Ourselves About Clean Data

Picture this: You’re building a fraud detection model. You’ve got millions of transactions, 99.9% of them perfectly normal. Mean transaction value: $47. Standard deviation: $23. Beautiful bell curve. Then there’s that one transaction: $47,000.

“Outlier,” you think. “Someone fat-fingered a decimal point. This will skew everything.”

You drop it.

Here’s what you missed: That was the fraud.

The normal transactions? They don’t matter. They’re not why you built the model. The entire purpose of your system was to catch that one weird point that doesn’t fit the pattern. And you removed it because it was making your loss function uncomfortable.

This is the trap of thinking in averages. Standard deviation measures how clustered your data is around the mean. It’s a mediocrity metric. It tells you about the boring middle while ignoring the fact that the world is shaped by extremes.


Welcome to Extremistan

Nassim Taleb split the world into two countries:

Mediocristan: Where outliers don’t matter. Heights, weights, calorie consumption. You can’t be 100x taller than average. The tallest person alive is maybe 1.5x the mean. Averages work here.

Extremistan: Where one observation can dominate everything else. Wealth, book sales, earthquake magnitudes, pandemic spread, your app’s user engagement. The top 1% can represent 99% of the total.

Here’s the thing nobody tells you: Most of the problems we care about in data science live in Extremistan.

Your e-commerce revenue? One whale customer is worth 10,000 casual browsers.

Your content platform? One viral post drives more traffic than a year of steady publishing.

Your security logs? One intrusion attempt matters more than a million normal login events.

Your machine learning model? One edge case in production will break everything, no matter how well it performed on the 99.9% during training.

You can’t understand Extremistan by looking at the mean. The average earthquake magnitude tells you nothing about the Big One. The average tweet engagement tells you nothing about what goes viral. The average transaction tells you nothing about fraud.


The 80/20 Rule is Everywhere (And It’s More Like 99/1)

You know the Pareto Principle: 80% of effects come from 20% of causes.

In reality, it’s worse—or better, depending on how you look at it.

  • 80% of your bugs come from 20% of your code (probably that one hacky module you wrote at 3 AM)
  • 80% of your server load comes from 20% of your API endpoints
  • 90% of your revenue comes from 10% of your customers
  • 99% of your model’s failures in production come from 1% of the edge cases you didn’t test

This isn’t a coincidence. It’s a power law. And power laws are the mathematical signature of a world where outliers are the entire story.

When you remove outliers, you’re not cleaning data. You’re erasing the signal and keeping the noise.


What If You Only Learned From Outliers?

Here’s a thought experiment: Build a model that ignores the normal cases and only trains on the weird stuff.

Sounds insane, right?

But think about how humans learn. You don’t remember the 10,000 uneventful commutes to work. You remember the one time your car broke down, or you witnessed an accident, or you took a different route and discovered a shortcut. Outliers update your mental model. The routine just confirms it.

Anomaly detection systems already work this way. They don’t care about normal behavior—they’re tuned to scream when something breaks the pattern.

What if we applied this to everything?

  • A content recommendation system that learns from the posts that got shared 1000x more than average, not the median engagement
  • A talent evaluation system that studies the top 1% performers, not the average employee
  • A financial model that asks “what breaks during black swan events?” instead of “what’s the expected return?”

The normal cases give you incremental improvements. The outliers tell you where the system is fragile—or where the opportunity hides.


Your Model’s Expiration Date is Written in the Tails

Here’s the uncomfortable truth: Every model has an operating range, and production will eventually leave it.

You train on 2019 data. March 2020 happens. Your model thinks COVID-19 case counts are a data entry error.

You build a recommendation engine on steady-state usage patterns. A celebrity tweets your product. Your server melts because the traffic spike was “impossible” according to your training distribution.

You deploy a risk model tuned to peacetime markets. A bank collapses. Your model has no idea what to do because this scenario was 6 standard deviations away—so you discarded those examples.

Outliers are dress rehearsals for regime change. They’re the future trying to warn you that the rules are about to flip.

If you remove them, you build a model that works perfectly… until it doesn’t. And when it fails, it fails catastrophically, because you optimized for a world that no longer exists.


The Signal Hiding in the Noise

Let’s get concrete. Imagine you’re analyzing user session lengths for a web app.

  • Median session: 3 minutes
  • Mean: 5 minutes (skewed by a long tail)
  • 99th percentile: 45 minutes
  • That one session: 8 hours

Your first instinct: “Someone left their browser open. Outlier. Ignore it.”

But what if that 8-hour user:

  • Found a workflow no one else discovered
  • Is your most engaged power user
  • Represents the future behavior you should optimize for
  • Uncovered a bug that keeps the app open when it should timeout

The outlier is trying to tell you something. It’s a message from the edge of your system, where the model breaks, where the opportunity lives, where the next failure is hiding.

Ignoring it isn’t “data cleaning.” It’s willful blindness.


How to Stop Murdering Your Signals

So what do you do? You can’t just keep every weird data point and call it a day. Some outliers really are errors—sensor glitches, fat-fingered inputs, bot traffic.

Here’s the shift: Stop asking “Is this an outlier?” Start asking “What is this outlier trying to tell me?“

1. Investigate Before You Delete

Don’t remove a point just because it’s far from the mean. Trace it back. Check the logs. Was it a real event? If yes, it stays. If it’s a sensor failure, document why you’re removing it. Make deletion a deliberate act, not a reflex.

2. Build Two Models

One for the bulk. One for the edges. Your main model can handle the 95%. Your anomaly detector catches the 5%. Don’t force one model to do both jobs.

3. Measure What Matters in the Tails

Stop obsessing over MSE and R². Those metrics care about average error. In Extremistan, you don’t want to be approximately right everywhere. You want to be exactly right in the critical moments.

Use metrics that punish tail failures: max error, 99th percentile latency, worst-case loss.

4. Stress-Test With Outliers

Don’t just test your model on held-out data from the same distribution. Inject synthetic outliers. Double the max value. Flip signs. Feed it garbage. See where it breaks. That’s where production will kill you.

5. Design for Graceful Failure

Your model will encounter data it’s never seen. Instead of silently producing nonsense, teach it to say “I don’t know.” Confidence thresholds, uncertainty quantification, fallback to rule-based systems when the input is too weird.

The goal isn’t a model that’s always right. It’s a model that knows when it’s probably wrong.


The World Isn’t Normal, and Neither Should Your Models Be

Here’s what this journey teaches us:

The normal distribution is a beautiful mathematical object. It makes calculus tractable, enables closed-form solutions, and dominates every intro stats course.

It also describes almost nothing important.

Wealth follows a power law. So does city size, earthquake magnitude, web traffic, word frequency, and the impact of your bugs in production.

The things that matter happen in the tails. The fraud transactions. The viral posts. The zero-day exploits. The customers who churn. The one feature request that would 10x your revenue.

And we’ve been trained to smooth them out, trim them off, treat them as contamination in our otherwise clean dataset.

What if we inverted it? What if we treated the normal cases as the boring backdrop and built our entire understanding around the outliers?

You’d have a system that doesn’t just work in peacetime. You’d have a system that survives the chaos.


Pro Tip: When to Keep the Outlier

Ask yourself:

  • Could this happen again? (If yes, keep it. Production will see it.)
  • Does it represent a failure mode I care about? (If yes, weight it higher, not lower.)
  • Am I removing this because it’s wrong, or because it’s inconvenient? (Be honest.)
  • Would explaining this point to a domain expert make me look smart or stupid? (If smart, it’s signal. If stupid, it’s probably noise.)

When in doubt, keep it and investigate it. The cost of one weird training example is low. The cost of missing the pattern that breaks your production system is catastrophic.


Next time you see a data point 4 standard deviations from the mean, pause. Don’t reach for df = df[df['value'] < threshold] out of reflex.

Zoom in. Understand it. Respect it.

Because somewhere in that outlier is the truth your model is too polite to learn.

Until next time. ☕️

You might also enjoy