AegisAI Lab · Lab Note 005

How do you evaluate an email security vendor's detection accuracy and false negative rate?

Detection accuracy is two error rates. Measure false negatives and false positives on labelled mail, and bound a zero miss result with 3/n.

How do you evaluate an email security vendor's detection accuracy and false negative rate?

Detection accuracy is two error rates, the false negative rate and the false positive rate, and a result of zero misses in n attacks only shows the first is below 3/n at 95% confidence. To measure both, replay labelled attacks and legitimate mail through the product and count every miss and every false alarm.

Test labs publish how they chose their samples. The AMTSO standard asks every test plan to state where samples came from and how they were curated. Ask any vendor for the same two answers before you read its catch rate.

What you can do by the end

  • Work out how many attacks to send before "zero misses" proves anything, and which interval to use when there are a few misses.
  • Build a labelled sample and a delivery path that does not tilt the result.
  • Count a miss the same way for every product, including mail the platform removes after delivery.

How do you run the test?

  1. Fix the formulas before you collect mail. Detection rate (recall) is TP/(TP+FN) and the false positive rate is FP/(FP+TN). A false negative is an unwanted message the product treated as legitimate.

  2. Build the attack set from mail you have already confirmed as malicious. In Microsoft 365, admins report false negatives from the Submissions page of the Defender portal. In Google Workspace, admins search Gmail log events in the security investigation tool. Label each message with a technique from MITRE ATT&CK T1566, which has four sub-techniques.

  3. Sample legitimate mail from live mailboxes and label each message safe. Include bulk mail and automated notices, because the false positive rate divides by all safe mail.

  4. Keep the delivery path honest. If you allow-list the sender of your test mail, you switch off the filter you are testing. In Microsoft 365, matched messages get no action from filters, zero-hour auto purge, Safe Links blocking or Safe Attachments detonation. In Gmail, mail from an allowlisted IP is not put in spam.

  5. Run the product beside your current stack, in monitor mode, on the same live mail. An API connection makes that possible without an MX record change, which is how AegisAI connects.

  6. Record two verdicts per message: one at delivery and one after the 48 hour auto purge window closes. Zero-hour auto purge searches the last 48 hours of delivered mail and does not notify users. Its removals change counts in Threat Explorer but not in the Mailflow status report. Log a miss that auto purge later removes as a late catch.

  7. Compute the rates for each category on its own. Divide misses by attacks sent for the false negative rate, and false alarms by legitimate messages for the false positive rate. Do not trust accuracy alone: at a 1% attack rate, a filter that flags nothing scores 99% accuracy. Small samples swing hard: with four safe messages, one false alarm gives a 25% false positive rate.

  8. Put a bound on the result. Zero misses in n attacks gives a 95% upper bound of 3/n. With one or a few misses, use the exact binomial interval, because NIST notes that normal approximations are not always accurate enough for very small counts.

Why report each attack category on its own?

Categories carry different costs. The FBI's IC3 recorded 24,768 business email compromise complaints and $3,046,598,558 in reported losses for 2025. It recorded 191,561 phishing and spoofing complaints in the same year. A miss in the first group and a miss in the second are different events, so a blended rate hides the difference.

Labs follow the same logic. SE Labs reports four targeted attack categories separately: business email compromise, phishing, social engineering and malware. Its total accuracy score combines protection and false positives, because a product that blocked all legitimate mail would catch every attack.

How do you score mail that lands in Junk or quarantine?

Decide the scoring table before the first message is sent. SE Labs awards 10 points for stopping a threat and 5 for the Junk folder. Quarantine earns 6 or 10, depending on whether the user or only the administrator can recover the message. A malicious message in the inbox loses 10 points. Legitimate mail takes the same amounts as deductions when it is junked or quarantined.

Write your own table and give it to every vendor. Then score every product with it. AMTSO tells testers to treat all test subjects fairly and equally, and calls an advance look at the samples for some vendors but not others unfair.

Which measures belong in the report?

MeasureFormulaWhat it tells youWhat it hides
Detection rate (recall)TP / (TP + FN)How many attacks the product caughtGood mail it blocked on the way
False negative rateFN / (TP + FN)How many attacks got throughNeeds a labelled attack set that is large enough
False positive rateFP / (FP + TN)How much good mail was flaggedSwings hard on small samples
Accuracy(TP + TN) / all messagesShare of verdicts that were rightLooks high when attacks are rare

Illustrative example, figures are fictional. A team replays 400 labelled attacks and 4,000 legitimate messages through one product. It misses 6 attacks and flags 20 legitimate messages. The false negative rate is 6 of 400, or 1.5%. The false positive rate is 20 of 4,000, or 0.5%. A second product misses 0 of 100 attacks in a smaller test, which shows only that its rate is below 3/100 at 95% confidence.

What should a vendor hand you with its numbers?

Ask for these in writing:

  • The source of the samples and how they were curated.
  • Every variance between the tested configuration and the one you would run in production.
  • Results for each attack category, not one blended figure.
  • The false positive rate with its denominator, next to the false negative rate.

A figure that arrives without these four items cannot be set beside your own test.

How to measure it in 30 days

Track three numbers each week. Each one comes from a report you already have.

  • Missed attacks per category. Count the messages admins report as false negatives on the Submissions page or mark as phishing through the investigation tool. Divide by the attacks in your test set.
  • False alarms per thousand legitimate messages. Take the count from the product's quarantine and release log and always write the denominator next to it.
  • Late removals. The Post-delivery activities report shows the auto purge lifecycle for messages in your organization. Count removals per week and the hours between delivery and removal.

For the deployment questions around a trial, read the vendor evaluation framework. For tuning after a false alarm, read why false positives happen and how to fix the root cause.

Questions people ask

What is a false negative rate in email security?

It is the share of malicious messages a product treated as legitimate. Virus Bulletin's email test methodology defines a false negative as an unwanted test case identified as legitimate, and a false positive as a legitimate test case identified as unwanted.

How many test emails do I need?

Enough to make the bound useful. With zero misses in n attacks the 95% upper bound is 3/n, so it shrinks as n grows. With a few misses, compute the exact binomial interval instead.

Can I trust a vendor's published catch rate?

Ask for the test plan first. AMTSO expects the test plan to show sample provenance and curation, and vendors to disclose any variance between the tested product and the shipped one. A catch rate without a false positive rate is half a result.

Can I use phishing simulation mail to test detection?

Not to test filters. In Microsoft 365, matched simulation mail gets no action from filters or auto purge, and automated investigation ignores it. A simulation measures people. Use real attack samples to measure the product.

How do I find attacks my current filter missed?

Search delivered mail and label what you find. Microsoft 365 admins report false negatives from the Submissions page. Google Workspace admins search Gmail log events and mark messages as phishing.

Should I weight business email compromise misses more?

Report it on its own line. IC3 logged 24,768 such complaints and $3,046,598,558 in reported losses for 2025. Weighting is your policy, so state the weights before the test and apply them to the category rates.

Sources

  1. Wikipedia, Rule of three (statistics)
  2. Virus Bulletin, VBSpam methodology ver.3.0.1
  3. Google for Developers, Machine Learning Crash Course, Classification
  4. NIST/SEMATECH e-Handbook of Statistical Methods, 7.2.4.1 Confidence intervals
  5. AMTSO, Testing Protocol Standard v1.2
  6. SE Labs, Email Security Services, Protection, September 2024
  7. Microsoft Learn, Report spam, non-spam, phishing, suspicious emails and files to Microsoft
  8. Microsoft Learn, Configure the advanced delivery policy
  9. Microsoft Learn, Zero-hour auto purge in Microsoft Defender for Office 365
  10. Microsoft Learn, View email security reports
  11. Google Workspace Admin Help, Take action based on search results
  12. Google Workspace Admin Help, Allowlists, denylists, and approved senders
  13. MITRE ATT&CK, Phishing T1566
  14. FBI IC3, 2025 IC3 Annual Report
  15. AegisAI blog, How to Evaluate API Based Email Security

Recent posts

Every email, investigated.