PaperBleachPaperBleach
logo

The Math of False Positive Rates: Reading AI Detector ROC Curves Without a Stats Degree

P
Paperbleach

08 Apr 2025

A detector tells your professor your essay is “92% likely AI.” Scary number. But it’s the answer to a question almost nobody asks out loud: 92% under which setting, and how often does that same setting flag people who did nothing wrong? Once you can read the math behind that score, it stops being a verdict and starts being a claim you can actually interrogate.

Key takeaways

  • A false positive is human writing flagged as AI. The false positive rate is the share of genuinely human texts a detector wrongly flags at a given setting.
  • An ROC curve plots true positive rate against false positive rate as you slide the threshold. Catching more AI almost always means flagging more humans.
  • AUC is one summary number from 0.5 (coin flip) to 1.0 (perfect). It still won’t tell you what happens at the exact threshold your school or platform uses.
  • Base rates wreck intuition. Even a “good” 1% false positive rate produces a lot of wrongly accused people across thousands of mostly-human essays.
  • A score is a probability under one threshold, not proof. Knowing the math lets you push back instead of panicking.

Two kinds of wrong

Any detector that says “AI or not AI” can be wrong in two directions, and they’re not the same mistake.

A false positive is when a human wrote something and the tool says “AI.” That’s the one that ruins someone’s week — an honest student, a freelancer, a marketer who actually did the work.

A false negative is the opposite: real AI text slips through labeled “human.”

The false positive rate (FPR) is the fraction of truly human texts that get flagged. Run 1,000 human essays through a detector tuned to a 2% FPR and you’d expect about 20 of them to light up red — 20 people who wrote their own work and now have to explain themselves.

Here’s the part that trips everyone up: the FPR is not a fixed property of the tool. It depends on the threshold — the cutoff score above which the detector calls something AI. Move the cutoff, move the rate. Which is exactly what the ROC curve is for.

The threshold dial

Picture a detector that scores every document from 0 to 1, where higher means “more AI-like.” It does *not* decide guilt on its own. A human picks a line — say 0.5 — and everything above it gets labeled AI.

Slide that line around and watch what happens:

  • Drop the threshold to 0.2. Now almost everything trips the wire. You catch nearly all the real AI (great true positive rate) but you also flag a pile of humans (terrible false positive rate).
  • Raise it to 0.9. Now you only flag the most blatant cases. Hardly any innocent humans get caught — but a lot of real AI sails through.

You can’t escape the squeeze by being clever. Human and machine writing overlap in the middle, so any line you draw cuts through both populations. This is the same trade-off behind perplexity and burstiness; if those terms are new, our explainer on perplexity and burstiness walks through the underlying signals a detector measures before it ever picks a threshold.

What an ROC curve actually shows

The ROC curve is just the picture of that dial.

  • X-axis: false positive rate (humans wrongly flagged), 0 to 1.
  • Y-axis: true positive rate (AI correctly caught), 0 to 1.
  • Each point on the curve is one threshold setting.

You read it from corner to corner. The bottom-left (0, 0) is a paranoid setting that flags nothing — no false alarms, but no catches either. The top-right (1, 1) flags everything — catches all AI, but accuses every human too. The useful settings live along the curve between them.

A diagonal line from bottom-left to top-right is the “random guessing” baseline. A detector whose curve sits on that diagonal is, mathematically, a coin flip. The further the curve bows up toward the top-left corner — high catch rate, low false alarm rate — the better the tool separates the two groups.

The number people quote for “how good is the curve” is AUC, the area under it. AUC of 0.5 is the coin flip. AUC of 1.0 is a perfect separator that never confuses a human for a machine. Real detectors land somewhere in between, and the honest ones don’t pretend otherwise.

Why AUC isn’t the whole story

AUC averages performance across *every* threshold. That’s useful for comparing two tools in the abstract, but it hides the thing you care about: the false positive rate at the *one* threshold actually being used on your document.

Two detectors can have the same AUC while behaving completely differently at the strict cutoff a university picks. A tool can post an impressive 0.97 AUC and still flag 1 in 20 honest essays at the setting your reviewer chose. The summary number looked fine. The setting you got caught by did not. So the question is never just “what’s your AUC” — it’s “what’s the false positive rate at the threshold you’re applying to me.”

A mini-scenario: the 99% accuracy trap

Let’s make this concrete with a worked example — the numbers below are illustrative, not measured from any real tool. A vendor advertises “99% accurate.” Sounds airtight. Watch what base rates do to it.

Say a class of 500 students submits essays. Suppose 2% of them — 10 students — actually used AI. The other 490 wrote their own work.

The detector runs at a setting with a 1% false positive rate and a 90% true positive rate (it catches 9 of the 10 real cases).

  • Real AI caught: 9 students. Good.
  • Humans wrongly flagged: 1% of 490 = about 5 students.

So 14 essays get flagged, and 5 of them — more than a third — belong to innocent people. A detector that’s right “99% of the time” still produces a flagged pile where a large chunk are false accusations. That’s the base rate fallacy: when most of the population is human, even a tiny false positive rate generates false alarms on a scale that rivals the true catches.

Crank the class up to a whole university and the absolute number of wrongly accused people gets ugly fast. The percentage stayed small. The headcount didn’t.

What this means if you’ve been flagged

The math isn’t just trivia. It’s leverage.

A detection score is a probability output at a chosen threshold — not a confession and not a fingerprint. If you’re staring at a flag, a few grounded points follow directly from the curve:

  • Ask for the false positive rate at the threshold used, not the marketing accuracy number. They’re different questions, and the second one is the one that matters for you.
  • Point to the documented misfires. OpenAI retired its own AI Text Classifier in July 2023 because it wasn’t accurate enough. A 2023 Stanford study (Liang and colleagues) found several detectors systematically flagged writing by non-native English speakers more often. These aren’t fringe complaints; they’re reasons a single score shouldn’t decide anything.
  • Show your process. Draft history, version timestamps, notes, and outlines are the kind of evidence a probability can’t override.

If you write in a clean, even, low-perplexity style — common for ESL writers and for anyone who edits heavily — you may sit closer to the threshold than you’d expect, through no fault of your own. That’s a property of where the line was drawn, not a measure of your honesty.

Running your own draft through a checker before submission is worth doing for exactly this reason: you find out where you land relative to a typical threshold instead of guessing. If you want to know what that costs, our pricing page lays it out, and we keep a running set of more guides on detection mechanics for the curious.

Frequently asked questions

What is a false positive rate in AI detection?

It’s the fraction of genuinely human-written texts that a detector incorrectly flags as AI at a given threshold. Run 1,000 human essays through a detector set to a 1% false positive rate and you’d expect roughly 10 innocent essays to get flagged. The rate is a property of the threshold the operator chose, not a fixed trait of the tool.

What does AUC mean for an AI detector?

AUC is the area under the ROC curve — a single number from 0.5 to 1.0 that summarizes how well a detector separates AI from human across every possible threshold. 0.5 is guessing; 1.0 is perfect. It’s a useful overall signal, but because it averages across thresholds, it won’t tell you the false positive rate at the specific cutoff your reviewer is using.

Why can’t a detector just lower its false positive rate to zero?

Because human and AI writing overlap. Plenty of careful, edited human prose looks statistically similar to model output, and some AI text reads naturally. Pushing false positives toward zero means raising the threshold so high you also miss most real AI. The ROC curve makes that trade-off visible — the two error types move in opposite directions.

Does a 99% accuracy claim mean the detector is reliable?

Not on its own. Accuracy can look great while the false positive rate still matters, especially if the test set was a balanced 50/50 split. In real use most submitted writing is human, so even a small false positive rate produces many wrong flags relative to the few real AI cases. Ask for the false positive rate and the threshold, not just the headline number.

If I was flagged, does the math help me defend myself?

Yes. A flag is a probability at one chosen threshold, not proof. You can ask what false positive rate that threshold implies, note that detectors are documented to misfire on edited and non-native English writing, and show your drafting history. Understanding the curve turns a scary number into a question the accuser has to answer.

The takeaway

ROC curves, thresholds, and base rates aren’t academic decoration. They’re the difference between reading “92% AI” as a sentence and reading it as a setting someone picked, with a false positive rate attached. Detectors output probabilities, not proof — and the more honest you are about your own writing, the more the math is on your side. Want to see where your draft actually lands before anyone else does? Try PaperBleach.

Try it on your own text

Paste your draft into PaperBleach to humanize AI text so it reads naturally — then check your score against built-in AI detection. Free on your first run.