Register  |   |  Account  |  Contact Us

How We Measure Our Device Detection Data

We're often asked how the four key device detection metrics are measured. The following panels help detail these metrics and offer an explanation as to why they are so important.

If you'd like to know more then try device detection for free, explore our forums or contact us for guidance.


We utilise pattern recognition and trie device detection techniques.

Download the test suite for Java and C to measure performance on your hardware.

Watch a 2 minute video demonstration.

Pattern Trie
Groups together common patterns ignoring the distracting characters to detect more than 60,000 devices a second. Over 5,000,000 devices can be detected per second using a trie index populated with device patterns.
Easy Deployment, Low Memory Consumption. Very Fast.
.NET, C, Java, PHP, Python, Perl .NET, C, Java, Python, Perl
Learn About PatternLearn About Trie


The number of physical devices isn't as important as the number of combinations of browsers, operating systems and hardware.

Consider a modern Android Smartphone. It can run one of seven major browsers and could be running one of many different versions of Android. We ensure all permutations are included in the device detection data.

We use current internet activity to ensure our device combinations represent real internet usage. Therefore we won't include WAP/WML devices, models that no longer connect to the internet, minor differences in radios or different colours/brands of the same hardware model.


Our system contains more than 150,000,000 unique HTTP headers including crawlers, apps and web browsers. Our professional data team continually assign any headers that we receive that reach our minimum occurrence criteria to a hardware, software, browser and crawler profile.

1.75% of the total available headers are used with the Pattern method to achieve 99.9% or greater device detection accuracy when compared to the full data set. This approach minimises the amount of data which needs to be distributed allowing a much faster detection rate. Over 30,000,000 headers are used to populate the Trie method.

We also continue to check real devices and work with handset vendors to verify accuracy. Sometimes a few weeks are needed for a new device to appear in our system. Our customers can let us know if we’re getting something wrong via our open public forum.


Our free open source software can be configured to send usage information back to us. Contributing usage information enables us to improve accuracy and performance.

We’re also able to determine the number of unique IP addresses and hosts using our products.

As there is no requirement to provide usage information, we believe the actual number of deployments is far higher.

Usage information is also aggregated and used to provide our Mobile Analytics service.