Outlier Detector
Checks whether an odd-looking run really sits apart from the rest, using two methods the odd run can't bend. It flags, it never deletes: an outlier is a question to take back to the robot.
Inputs
Fill from a robot log (CSV)
A CSV the robot saved to its SD card, or any spreadsheet saved as CSV. It’s read on this device and isn’t uploaded anywhere.
Spaces, commas or new lines between numbers. Keep them in the order you took them, so each flag can be matched to its run.
Results
Runs flagged by either method
—
Which runs
—
Usual range (quartile fences)
—
Average of every run
—
Average without the flagged runs
—
Middle value, which barely moves either way
—
Show every run and its verdict
Every run in the order it was taken, with both methods' verdicts.
Pull one run further out
Every run on one line. The box is the middle half of your runs with the median marked inside it, and the dashed marks either side are the quartile fences. The slider moves your most unusual run: pull it away from the rest and watch when each method starts flagging it. The box barely moves while you do, because it is built from the middle of the runs rather than their average, which is why these methods are not fooled by the run they are judging.
How this is calculated
The familiar rule, "more than two standard deviations from the average", has a flaw that matters most in small tests: the odd value is part of the average and the standard deviation it is being compared with. A big enough outlier drags both towards itself and hides. Two big ones can hide each other completely.
Both methods here are built on the median and the middle half of the data, which one or two odd values barely move.
Quartile fences
Take the middle half of the values, from the first quartile to the third. Its width is the interquartile range. Anything more than one and a half of those widths beyond either end is unusual; more than three widths is far out. This is the rule behind the whiskers on a box plot.
fences = Q1 − 1.5 × IQR and Q3 + 1.5 × IQRModified z-score
Measure each value's distance from the median, and scale it by the median of all those distances instead of by the standard deviation. Scores beyond 3.5 either way are flagged, the cut-off recommended by Iglewicz and Hoaglin, who devised it.
score = 0.6745 × (value − median) ÷ MADWith your numbers
Flagged isn't the same as wrong
A flag says a run is different. Only the robot can say why. Before removing one, find a reason that has nothing to do with the number itself: a flat battery, a different driver, a loose tile, a timing mistake. If there is no such reason, keep it and report both averages, because the odd run may be the mechanism telling you something.
Make a notebook page
Turns this calculation into a dated engineering notebook page: the setup, data, results, figures, working and sources, numbered and cited. You add the goal, the decision and the reflection in your own words, plus photos and sketches. Print it, paste it into Google Docs, or download a Word file or slides.
Save this run, and compare
Keeps what is on screen so you can change something and see both sides of the change. Saved in this browser only, never uploaded.
Sources & assumptions
Methods. Tukey's fences (1.5 and 3 times the interquartile range) and the modified z-score of Iglewicz and Hoaglin (1993), with their 3.5 cut-off and their fallback to the mean absolute deviation when more than half the values are identical.
Checked. scripts/verify-stats.mjs confirms the scores against their definition worked by hand, the fallback, and that a very large outlier doesn't hide a second one, which the two-standard- deviation rule demonstrably does on the same data.
Needs enough runs. With fewer than five values, neither method has much to work with, and the page says so.
Where this goes next
Explore further on the full mapWhere the answers on this page can be used, and which tools could have given you the numbers it asks for.
Comes after
Run Timerfills in your trial results hereDescriptive Statsfills in your trial results hereYou are here
Outlier Detector
a number carries across the next question it raises