2026-01-08
Why your retention dashboard disagrees with Shopify
By Mina Cho
Most disagreements trace to timestamp choice: order placed, fulfilled, or paid. Pick one primary timestamp for cohort charts and publish it above the fold on the dashboard. Secondary charts can exist, but they must carry a label that cannot be misread.
Refunds and partial captures wreck naive retention curves. Build a bridge table that allocates refunds to the originating cohort month, even if cash lands later. If you cannot allocate, show gross and net series side by side instead of blending silently.
Email metrics add another fork. Opens are not revenue. If lifecycle insists on open rates, pair every chart with a trailing 30-day revenue per recipient column using the same identity graph your finance team trusts. When identities break, document the break rate weekly.
None of this is glamorous, yet it is the work that keeps retention reviews short. Teams that graduate our Retention Signals course typically ship a reconciliation addendum in week two; treat it as living documentation, not a one-off audit.
Retention Analytics · Data quality
← Back to blog