Macro photo of a circuit board

📊 How AI-text detectors are actually evaluated: AUROC, AUPRC, and the benchmark problem

·7 min read
detectionevaluationAUROCbenchmarks

A claimed accuracy number means nothing without knowing the benchmark. What AUROC and AUPRC measure, why the Human-Written vs Machine-Generated benchmark exists, and how to read vendor claims.

Detector marketing is full of headline accuracy figures. The problem is that accuracy is nearly meaningless without a benchmark behind it. Two detectors can both claim "95%" and be entirely different tools. To read a claim honestly you have to ask a different question: evaluated on what, and measured with which metric?

Why "accuracy" is the wrong headline

A detector's job is not to be right on average; it is to separate two overlapping distributions. If 99% of your corpus is human-written and the detector never flags anything, it is 99% accurate and completely useless. Accuracy is sensitive to class balance, which is exactly why it is a poor headline metric.

AUROC: ranking quality

AUROC (Area Under the Receiver Operating Characteristic curve) measures how well a detector ranks texts. It asks: if I pick one human text and one machine text at random, how often does the detector score the machine text higher? A perfect detector scores 1.0; a coin flip scores 0.5. AUROC is threshold-independent, which makes it a good summary of ordering ability — but it tells you nothing about what score to trust, or how many false positives you will get at a chosen cutoff.

AUPRC: how much you'll believe a positive

AUPRC (Area Under the Precision-Recall curve) is what you care about when you will act on a positive result. It combines precision (of the flagged texts, how many really are AI) with recall (of all AI texts, how many got flagged). AUPRC is far more sensitive to class imbalance than AUROC, and it is the metric that actually reflects the false-positive problem. When a vendor quotes a high AUPRC, they are saying "when I flag something, you can usually trust the flag" — which is the claim most buyers actually want.

The benchmark problem

Results depend entirely on the dataset. A recent effort standardised this with the HWT (Human-Written vs Machine-Generated) benchmark and the related MGT (Machine-Generated Text) collections, which gather text from many models in many styles and pair it with matching human writing. Detectors that score well on a narrow, old dataset can collapse on a newer model or a different genre. Generalisation is the hard part, and a single benchmark cannot capture it.

MetricWhat it answersWatch out for
Accuracy% correct overallUseless when classes are imbalanced
AUROCCan it tell machine text from human text, in order?Not about any single cutoff
AUPRCWhen it flags text, can I trust the flag?Very sensitive to dataset balance
Per-model AUROCHow it performs per generatorAverages hide big variation

How to read a vendor claim

  • Ask for AUROC and AUPRC on a named, current benchmark, not a one-line accuracy figure.
  • Ask for per-model results — a detector that is great on one generator and blind to another is not a general detector.
  • Ask for the false-positive rate at the operating threshold, because that is what decides who gets accused.
  • Ask whether the detector is zero-shot or trained on the evaluation models — a model that saw the generator in training will over-perform.
💡 This tool publishes a fused verdict with per-detector scores so you can see how the methods agree, and it surfaces uncertainty rather than a single black-box percentage. No benchmark number is a promise of perfection.

Try the AI text detector

Paste text and get a fused verdict with a per-detector breakdown (likelihood, entropy, logrank, perplexity, DetectGPT, Fast-DetectGPT, Binoculars, DetectLLM). Free.

Open the tool