GMT cohorts and return ghosts

Day-one retention can move when clocks and user IDs move—not when the product does.

Person working on a laptop at a desk

Teams serving users across the UK often mix UTC warehouse timestamps with local product calendars. A cohort day that spans the wrong midnight shifts every retention cell without anyone shipping a feature.

SDK upgrades that change anonymous-to-known stitching create similar ghosts: returning users appear as new cohorts, and week-four rates look healthier or worse depending on merge rules.

Before celebrating a retention lift, list SDK versions, identity rules, and timezone settings beside the chart. If those moved, treat the chart as suspect until you rebuild the cohort from raw events.

All notes Talk through a similar issue