You will notice discrepancies in reporting whenever you take a look at your site data from different sources (even when from the same company such as with Google AdSense vs Google Analytics). Overall you will likely notice up to a 30% discrepancy between the number of ads you expect to deliver and the amount you do.
By this we mean if you put three ad slots on a page, then every time the page loads you will expect to get three ad impressions right? Wrong, unfortunately – you would only expect to get about 70% of that. This is for many reasons, but chief amongst them is the fact that internet users have very low attention span on the internet, so change pages generally in less than 15 seconds, by which time all the ads on the page may not have loaded.
If an ad doesn’t load, you don’t get paid (which is why ad blockers are a massive pain, as they contribute to this discrepancy substantially also).
It’s nothing to worry about, it’s just the nature of the beast – the one thing you can do about it is ensuring that your ads load early in the page’s code, but even this won’t ever totally fix the issue.