9 November 2025 · Method

Cohort windows for subscription apps that actually bill monthly

Thai temple roof against a bright sky

Default analytics templates love a 7-day window. It is short enough to feel agile and long enough to accumulate a chart. For a monthly subscription, it is often a costume. People do not decide to climb a plan ladder on the same clock they decide to tap a new onboarding screen.

Align the window to the commercial clock

If the product bills on the calendar month, the first honest upgrade window is “within this billing cycle,” not “within seven days of install.” That sounds obvious until you watch a growth dashboard still keyed off first_open. Install cohorts answer acquisition questions. Plan conversion answers a billing question. Mixing them produces a number that impresses no one who has to explain a refund spike.

Thailand’s calendar is not noise

Songkran, Chinese New Year in neighbouring markets, and mid-year school holidays regularly move discretionary digital spend. In the Bangphlat studio we treat those stretches as expected variance, not anomalies to smooth away. A cohort that starts two days before a long holiday needs a wider shoulder, or a footnote that the window is contaminated.

Payday clustering matters too. Several consumer apps we have sat with see comparison-shelf behaviour rise in the last four days of the month. A 7-day install window started on the 3rd will never see that. The lab’s module three is mostly students redrawing one chart with a billing-aligned window and being quietly embarrassed.

Grace periods and retries

Storefront billing retries can land days after “failure.” If you close the conversion window before retries settle, you will undercount successful upgrades and overcount churn. Log grace and retry as states, then extend the window to include the retry horizon your store actually uses. Write the store’s horizon in the limitation section so nobody pretends you invented it.

A practical default we can defend

For a monthly consumer subscription in Thailand, we often start with: comparison events in days 0–14 of the cycle, commitment events through day 32 to catch retries, and a separate post-upgrade retention window of 10 days. Those numbers are starting points, not branding. If your product bills annually, none of them apply.

Further method: Upgrade Signals.