Data freshness
Every number in the analytics dashboard is fresh to a different degree. Spend updates almost in real time; cohorted revenue lags by days. This page explains the freshness of each source, why revenue windows are trimmed near the present, and how to read figures accordingly.
Freshness by source
Apple Ads. Spend, impressions, taps, and tap-attributed installs come from Apple Ads and update frequently during the day. Treat spend and engagement as effectively same-day. The Installs (Tap-Through) metric carries a 1-2 day latency because Apple needs time to confirm the install match.
Mobile Measurement Partner (MMP). Installs, in-app events, and revenue come from your MMP (Adjust or AppsFlyer). Revenue fields typically lag 24-48 hours behind the install date and keep updating as more events arrive from the device. Lifetime revenue is never fully mature because there is no fixed window after which new revenue stops arriving.
Metrics Catchbase calculates. Derived metrics like TTR, CVR, CPI, CPA, and ROAS come from the two sources above. Their freshness inherits from whichever input is slowest. ROAS, for example, cannot be any fresher than the revenue figure it uses.
Cohorted revenue and immature tail trimming
Cohorted revenue metrics give each install time to accumulate revenue before they are considered complete. Revenue D7 sums the revenue earned within 7 days of install. Revenue D14 extends to 14 days; Revenue D30 extends to 30.
The consequence is that the most recent install dates will always understate true revenue, because some of the days that count toward the window have not happened yet. If you simply charted revenue_d7 up to yesterday, the last week of the chart would sag toward zero, not because performance collapsed but because the cohorts are too young.
To avoid misreading that sag as a real trend, Catchbase removes those immature rows:
- Revenue D7 matures after 7 days; the most recent 7 days are trimmed.
- Revenue D14 matures after 14 days; the most recent 14 days are trimmed.
- Revenue D30 matures after 30 days; the most recent 30 days are trimmed.
In practical terms, a D7 ROAS figure covering "the last 30 days" reflects install cohorts that are already 7+ days old. A D30 ROAS figure reflects cohorts that are already 30+ days old. That is why the same keyword can show a higher D7 ROAS next week for the same historical window: days that were too young at first read are now mature enough to count.
Lifetime revenue has no trimming, because there is no fixed maturity window. Recent install dates will always understate lifetime revenue for the same reason the cohorted windows would, but there is no correct number of days to remove.
How to read the dashboard with this in mind
- For spend, impressions, and taps, a day-old figure is reliable.
- For installs, wait roughly 24-48 hours before treating a day as settled.
- For cohorted revenue and ROAS (D7, D14, D30), the dashboard will not plot the most recent N days of installs, so a short date range ending today may show fewer points than you expect.
- For lifetime revenue, expect past cohorts to grow as late events arrive. Compare across ranges of equal length to reduce the distortion.
- For large swings in a recent date range, check whether the range falls inside a trim window before concluding the swing is real. The Unusual metrics page walks through common causes.
For the attribution logic that underlies these rules (why revenue is attributed by install date while spend is attributed by ad-event date, and how MMP tables supply cohorted fields), see Revenue and cohorts.
References
Latency figures in this page reflect Catchbase's observed sync behaviour on top of the upstream systems; the cadences those systems publish are the ceiling for anything downstream.
- Apple Ads reporting documentation: https://developer.apple.com/documentation/apple_search_ads.
- Adjust data freshness and reporting latency: https://help.adjust.com/.
- AppsFlyer Pull API timing and event delivery notes: https://dev.appsflyer.com/.