2 February 2026 · Market

Seasonality of opt-in in Thailand

Notebook, coffee, and laptop on a desk

Imported experiment playbooks assume a flat calendar. Consumer apps in Thailand do not have one. Permission patience moves with travel, shopping peaks, and salary cycles. If your prompt test began on 8 April and “won” on 20 April, you may have measured Songkran, not your new illustration.

Windows we flag before a test ships

Songkran week, Chinese New Year where it hits your user mix, the 11.11 and 12.12 commerce peaks, and the two days after typical payday for bank-linked apps. We also watch major concert or sports weeks if the app’s category rides them. None of these are mystical. They change session length, interruption tolerance, and whether a user will grant a system dialog in a crowded bus.

Quiet Hours modelling has to respect the same calendar. A national 21:00 promotional cutoff that looks civil in a Bangkok office week can clip student and shift-work cohorts who only browse after 23:00. The desk does not invent one Thai bedtime; it asks you to publish the slice you chose and why.

How to keep the calendar out of the conclusion

Pre-register the exclusion window in the experiment brief. If the business cannot wait, run the test anyway but report a sensitivity table: full period versus period minus known peaks. We have watched teams bury that table because the “full period” made the new prompt look better. That is not analysis. That is theatre.

Language mix shifts during holiday travel as well. English UI usage sometimes rises with tourist SIMs and with Thais using a second device. If your bilingual CTAs do not share event names, the holiday will look like a localisation bug.

What we tell leadership

A prompt change that only “works” inside 11.11 is a campaign, not a permission strategy. Put it in the commerce calendar. Do not promote it to a default onboarding path in January. The Opt-In Lab exists so that distinction has somewhere to live besides a Slack thread.

All field notes · Opt-In Lab method