Seatext library / BotRefund evidence

How to Measure If Your Bot Detection Is Accurate Enough

Bot detection accuracy is measured using precision, recall, false positive rate, and false negative rate calculated from a labeled dataset of known human and bot traffic. Reliable measurement requires cross-validating multiple independent signals —...

Built for advertisers who need clear, refund-ready traffic evidence.

Bot detection accuracy is measured using precision, recall, false positive rate, and false negative rate calculated from a labeled dataset of known human and bot traffic. Reliable measurement requires cross-validating multiple independent signals — browser fingerprinting, network behavior, device attributes, and interaction patterns — rather than relying on any single check.

Core Metrics for Bot Detection Accuracy

Four metrics form the foundation of any accuracy assessment. Precision tells you what fraction of flagged visits are actually bots. Recall tells you what fraction of real bots you caught. False positive rate shows how often humans get mislabeled as bots. False negative rate shows how many bots slip through. Each metric answers a different operational question, so you need all four.

Precision = True Positives / (True Positives + False Positives)

Recall = True Positives / (True Positives + False Negatives)

False Positive Rate = False Positives / (False Positives + True Negatives)

False Negative Rate = False Negatives / (False Negatives + True Positives)

A system that blocks everything has perfect recall but terrible precision. A system that blocks nothing has perfect precision but zero recall. The right balance depends on your cost structure: losing a real customer versus wasting ad spend on bot clicks.

Building a Labeled Evaluation Dataset

You cannot calculate these metrics without ground truth. Start by collecting a representative sample of traffic — at least several thousand visits — and label each visit as human or bot. Labeling methods include:

  • Manual review of session recordings for a random subset
  • Known bot traffic from testing frameworks (Selenium, Puppeteer, Playwright)
  • Verified human traffic from internal teams or trusted networks
  • Honeypot pages that only bots discover
  • Challenge-response tests (CAPTCHAs, proof-of-work) on a sample

Stratify your sample across traffic sources, device types, geographies, and times of day. A dataset skewed toward desktop Chrome in North America will not reveal accuracy gaps on mobile Safari in Southeast Asia.

Calculating Precision, Recall, and F1 Score

Run your detection system on the labeled dataset and record the confusion matrix. Compute precision and recall per segment (by browser, device, channel) to find blind spots. The F1 score (harmonic mean of precision and recall) gives a single number for comparison, but never optimize for F1 alone — a 90% F1 with 5% false positive rate may be unacceptable if each false positive loses a high-value lead.

Track these metrics over time. Bot operators adapt; a model that scored 95% F1 last quarter may drop to 80% this quarter without retraining.

Understanding False Positive and False Negative Rates

False positives directly cost revenue when real users are blocked or flagged. False negatives waste ad budget and pollute analytics. Quantify both in business terms: average revenue per human visitor × false positive rate × traffic volume = monthly revenue at risk. Average bot click cost × false negative rate × bot traffic volume = monthly ad waste.

BotRefund's approach treats each signal as evidence, not a verdict. As their documentation states: "A single anomaly is not a bot verdict. Privacy tools, travel, corporate networks, and unusual devices can produce unexpected behavior for genuine people. BotRefund keeps this signal as evidence—not a verdict—and cross-checks it against independent browser, network, device, and behavior data." This design directly reduces false positives by requiring corroboration.

Cross-Validating with Multiple Signal Types

Single-signal detectors (user-agent checks, IP reputation, simple CAPTCHAs) are easily evaded. Modern bot detection layers independent checks across four categories:

  • Browser fingerprinting: Canvas rendering, font enumeration, WebGL parameters, audio context, hardware concurrency. BotRefund runs 106 independent checks including Empty Font Canvas detection that spots mismatches between claimed device and actual graphics behavior.
  • Network signals: IP reputation, VPN/proxy detection, suspicious port usage, geolocation consistency, TLS fingerprint.
  • Device signals: Battery API, screen orientation, touch support, sensor data, monitor refresh rate synchronization.
  • Behavioral signals: Mouse movement patterns (tremor, curvature, speed), click timing, scroll behavior, session duration, form interaction sequences.

Each signal produces a likelihood ratio. The combined model weighs the complete pattern. BotRefund's documentation explains: "BotRefund sends this signal into our prediction AI, which evaluates the complete picture across browser, network, device, and behavior evidence. By seeing how all signals fit together, it identifies a visit as bot or human with 99% accuracy."

Continuous Monitoring and Drift Detection

Accuracy measurement is not a one-time project. Implement ongoing monitoring:

  1. Sample 1-5% of traffic daily for human review
  2. Track precision/recall trends per traffic segment
  3. Alert when false positive rate exceeds threshold (e.g., >0.5%)
  4. Retrain or update rules when F1 drops >5 points from baseline
  5. Maintain a challenger model for A/B testing against production

Bot operators evolve. Residential proxy networks, headless browser improvements, and AI-driven behavior simulation all shift the detection landscape. A static rule set decays quickly.

Common Pitfalls in Accuracy Measurement

  • Evaluating only on easy traffic: Testing against obvious bots (data center IPs, default headless user agents) inflates metrics. Include sophisticated bots using residential proxies and behavioral mimicry.
  • Ignoring segment variance: Overall 99% accuracy may hide 60% recall on mobile Safari. Always segment.
  • Confusing detection with prevention: A detector that identifies bots after they convert still wastes ad spend. Measure time-to-detection.
  • No feedback loop: Without refund claims or conversion outcomes feeding back into labels, the model cannot improve.
  • Over-relying on vendor claims: "99% accurate" without published methodology, confidence intervals, or segment breakdowns is marketing, not measurement.

Key Facts

MetricValueSource
Independent detection checks106S1
Claimed accuracy99%S1
Bot click share of ad budgetUp to 20%S2
Customer refund success rate83%S2
Refund lookback windowDating back to 2017S2
Setup timeAbout one minuteS2
Case study bot click rate19%S7
Case study refund recovered$18,200S7
Case study conversion increase+22%S7

Limitations

This article covers measurement methodology, not implementation code. Accuracy thresholds vary by business model — an e-commerce site tolerates different false positive rates than a lead-generation funnel. The 99% accuracy claim comes from BotRefund's own documentation and has not been independently verified in this article. Labeled dataset construction requires privacy compliance (GDPR, CCPA) when using real user sessions. Small sites with low traffic may struggle to build statistically significant evaluation sets. Sophisticated adversarial bots (e.g., human-operated click farms) may evade behavioral signals entirely.

Terminology

  • Precision: Of all visits flagged as bots, what fraction are actually bots.
  • Recall: Of all actual bots, what fraction were flagged.
  • False positive: Human visit incorrectly flagged as bot.
  • False negative: Bot visit incorrectly passed as human.
  • F1 score: Harmonic mean of precision and recall.
  • Ground truth: Verified labels for evaluation dataset.
  • Signal: One independent check (e.g., canvas fingerprint, mouse tremor).
  • Corroboration: Requiring multiple signals to agree before verdict.
  • Drift: Gradual accuracy decline as bot tactics evolve.

FAQ

How large does my evaluation dataset need to be?

At minimum, several thousand labeled visits with at least 100-200 bots and 100-200 humans per segment you care about. For rare segments (e.g., specific mobile browser versions), you may need targeted collection.

Can I use synthetic bot traffic for evaluation?

Synthetic traffic (Selenium, Puppeteer) is useful for regression testing but insufficient alone. Real bot operators use residential proxies, behavioral randomization, and human-in-the-loop farms that synthetic tools don't replicate.

How often should I remeasure accuracy?

Monthly at minimum. Weekly for high-spend accounts. After any major bot operator technique publication (e.g., new headless browser stealth plugin), run an immediate evaluation.

What's a good false positive rate?

Depends on customer lifetime value. For high-value B2B leads, even 0.1% may be too high. For high-volume low-margin e-commerce, 1-2% may be acceptable. Calculate your break-even point.

Should I build or buy bot detection?

Building requires dedicated ML engineering, continuous label collection, and adversarial research. Buying transfers maintenance but requires vendor transparency on methodology and segment-level metrics. Most mid-market companies buy; large enterprises often hybridize.

How do I know if my current vendor is underperforming?

Run a shadow evaluation: send a sample of traffic to a second detector (or manual review) and compare verdicts. Discrepancies reveal gaps. BotRefund offers a free bot audit that can serve as this independent check.

What role does refund recovery play in accuracy measurement?

Refund approvals from Google and Meta provide external validation. When an ad platform accepts your evidence and issues a refund, that's a confirmed true positive. BotRefund reports 83% of customers successfully get refunds, with claims dating back to 2017.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

How BotRefund can help

BotRefund provides a free bot audit that runs 106 independent checks across browser fingerprinting, network signals, device attributes, and behavioral patterns. The system cross-checks every signal against the others before reaching a verdict, which reduces false positives compared to single-rule detectors. You can add the script to your site in about one minute with no credit card required. The audit produces a refund-ready evidence dossier you can submit to Google and Meta for click fraud reimbursement — BotRefund customers have recovered ad spend dating back to 2017, with an 83% refund approval rate across claims. For teams that need to measure their current detection accuracy, the free audit serves as an independent benchmark against your existing solution.

Start free bot audit