Unless you are OpenX or DoubleClick, you don’t own the ad servers. You are using third-party servers from channels like Facebook or Google.
Using third-party ad servers also means you are pulling stats data using the channel’s Ads API. Not having direct access to the servers, and the database, it means that the stats data you are pulling is not accurate.
The Ads API is serving not just you, but many other advertisers, who need to programmatic access to their ad campaign’s performance. Having multiple clients lead the ad servers to have balancing features such as rate limits, throttling, pre-aggregated/cached data.
If Facebook tells you that today’s reach is 250 people (as of now), that’s not the real-time reach, is the most up to date, pre-aggregated, cached, value that you can get.
If you don’t own the ad server, you shouldn’t worry too much about real-time data. Even at the most granular level, it won’t be real-time.
A smarter way to work around this is: don’t optimize by the hour. Collect yesterday’s data, today, and use that information instead.
Tomorrow, collect yesterday’s data again. Calculate the delta of yesterday’s number, reported today and tomorrow, and use it as a correction factor to get more accurate estimated numbers.