Highlights
Understand Incode’s approach to age assurance Accept US mobile driver's licenses from every wallet 3 years in a row named a Leader First to achieve iBeta Level 3 on iOS and Android Introducing GovFaceMatch
01/05
01/05
Back to blog
An illustration displaying the NIST results with a magnifying glass over top.

Incode ranks among the most accurate age estimation providers in NIST testing

The National Institute of Standards and Technology (NIST), the US government's standards lab, has published the September update of its age estimation benchmark. The update covers 29 technology providers and 53 algorithms. Our latest model, incode-002, ranked among the most accurate age estimation providers, finishing third of 29 on the largest dataset and in the top 3 to 5 across all other main datasets.

We're proud of these results. The jump from our last submission was one of the biggest in the report, on a test where nobody picks their own data. And the top three to five finishes on the main datasets reflect the work the team has put in over the past year.

In this post, we'll break down what those numbers mean and why they matter.

How the test works

NIST's Face Analysis Technology Evaluation (FATE) takes each provider's algorithm and runs it on millions of visa, border, mugshot, and immigration photos, in which real ages are known from government records. Providers never see the images. Everyone gets the same photos and the results go on a public page. Anyone can submit their models to NIST, including universities and government research labs, so it’s important to note that not every name in the table sells age estimation as a product.

NIST ranks individual algorithms, not companies, and one provider can have three or four algorithms in the table. We count each provider's best algorithm once, so every rank in this post is a rank among the 29 providers rather than the 53 individual algorithms. That's why "third of 29" here can appear as third, fourth, or fifth on NIST's page, depending on how many older submissions sit above it. NIST adds its own caution in the report: No algorithm is best at everything, and rankings move depending on the dataset and who is in the photos.

Where Incode ranks on accuracy

On visa images, the largest dataset at 6.2 million photos, incode-002 exhibited a mean absolute error (MAE) of 2.62 years. (MAE measures the average gap between estimated and true age.) That was third-best among 29 providers. The median error across all 29 providers was 3.3 years. On immigration application images we rank fifth, and on mugshots we rank seventh. Overall, we finish in the top seven on three of the four datasets.

The chart below shows mean absolute error on visa images for all 29 providers, with Incode highlighted.

A chart displaying Incode's performance on age estimation for visa images.
Age estimation error on visa images, best submission per technology provider. Mean absolute error in years, subjects aged 18–24; lower is better. Source: NISTIR 8525, Table 1.
A chart displaying how Incode performed where it concerns error by face size.
Error by face size. NIST groups mugshot images by the distance between the eyes in pixels; a small number means a small or low-resolution face. Men aged 18–30. Source: NIST FATE AEV summary page, "MAE by interocular distance”

Accuracy holds up as image quality drops. On faces with fewer than 80 pixels between the eyes, which is roughly the resolution of a low-quality selfie, Incode achieved a MAE of 2.03 years, and we placed in the top three providers in five of the six resolution bins NIST reports.

Error by face size. NIST groups mugshot images by the distance between the eyes in pixels; a small number means a small or low-resolution face. Men aged 18–30. Source: NIST FATE AEV summary page, "MAE by interocular distance”

For children under 10 we rank between second and fifth at every year of age.

Blocking minors without stopping adults

Accuracy in years is one thing. What most customers actually want to know is: Will a 16-year-old get through? NIST measures this with a Challenge-25 test, where anyone estimated under 25 is asked for ID. Two things can go wrong: A minor could be estimated as 25 or older and get through, or an adult could be estimated as under 25 and have to show ID.

NIST reports both numbers separately. On immigration application images, incode-002 lets 2.4% of minors through (joint eighth of 29 providers) and sends 11.7% of adults to an ID check (10th of 29 providers). These two numbers trade off against each other. That is, the stricter a model is, the fewer minors it lets through and the more adults it sends to an ID check.

On border-crossing images we rank sixth of 29 providers for the share of minors let through. For comparison, the providers at the bottom of the same table pass 3-4x more minors.

Challenge-25 on immigration application images: share of people estimated as 25 or older, by actual age. Left of 18 these are minors let through; right of 18 they are adults passed without an ID check. Source: NISTIR 8525, Table 3.

Read the chart both ways: On the left, a lower line means fewer minors getting through; on the right, a lower line means more adults pulled into an ID check. A good algorithm keeps the left side near zero and the right side high; the gap between them is what makes an age check both safe and usable.

The full report is at pages.nist.gov/frvt/reports/aev; our submission is listed as incode-002. The numbers in this post come from Tables 1, 3, 7, and 8.

Why these results matter

Anyone can claim their age estimation platform is accurate. NIST tests those claims on photos that no provider gets to see, and it publishes every result, so buyers and regulators can check the numbers for themselves.

In this update, an independent lab used millions of photos we never saw and put incode-002 near the top of the field on the measures that drive real outcomes: how often minors slip through and how often adults get stopped. For platforms choosing an age assurance provider, that is the difference between marketing claims and a number on a government page.

Ready to see how the model behind these results fits into your age assurance flow? Request a demo today.

Ready to see it in action?

Request a demo