Interactive Demo

Spot the Outlier

You'll see data with no labels, no instructions, no hints. Your job: figure out what's "normal" and flag what doesn't fit. This is anomaly detection, a core unsupervised learning task.

01

Visual Patterns

A grid of shapes. Most follow a pattern. Some deviate. Click the ones that feel "off."

02

Data Table

Employee records from a fake company. Some rows are anomalous. Find them in the numbers.

Round 1

Visual Patterns

Selected: 0
Most shapes below share common traits. Click the ones that feel most out of place. The system has scored items as highly anomalous. See how many you can find, then submit.
0 selected
Round 2

Data Table

Selected: 0
Below are employee records from a fictional company. Click the rows that seem most anomalous. The system has scored rows as high-anomaly outliers. Look at how the columns relate to each other.
# Department Tenure (yr) Salary ($k) Perf. Score Sick Days Projects
0 selected
Results

What Just Happened

of high-anomaly items flagged

You just did unsupervised learning.

Nobody told you what "normal" looked like. Nobody gave you labeled examples of anomalies. You looked at the data, built a mental model of the pattern, and flagged what deviated. That's exactly what an anomaly detection algorithm does: it learns the distribution of "normal" and flags points that fall outside it.

No labels required.

In supervised learning, you need someone to label every example as "normal" or "anomaly" first. Here, you figured it out from the structure of the data alone. The algorithm never sees a single label. It just learns what typical data looks like and raises a flag when something doesn't fit.

Different people, different models.

You might have noticed different things than the person next to you. Maybe you keyed in on color while they noticed size. Maybe you caught the salary outlier but missed the sick-days one. This is also true of algorithms: different approaches (isolation forests, autoencoders, clustering) surface different kinds of anomalies. There's no single "right" answer, just different models with different sensitivities and thresholds.