Reading late-night order spikes without inventing demand
At 22:04 a Bangkok marketplace chart can look like a celebration. Orders jump. Growth asks for more riders. Finance asks why incentives just spiked. Nobody asks whether three Yaowarat stalls are still open.
In Night Market Demand we force a three-way split before anyone touches a promo lever. First, completed checkouts with a kitchen that is still accepting tickets. Second, attempted checkouts against kitchens that have already flipped to closed. Third, location pings that look like demand but never become a ticket. The second bucket is not demand. It is a closing-time artefact. The third is often GPS jitter around a night market perimeter.
Thai late windows are especially noisy because vendor close-times are social, not contractual. A stall may stay for a tourist bus or pack down when rain starts. If your forecast uses amphoe averages, you will “discover” a rider shortage every time those stalls leave. The Yaowarat teaching set in our course lines vendor close events against order attempts. Students usually over-estimate real hunger by a third until they make that join.
What to do on Monday: pull one week of 21:00–23:30 tickets. Flag kitchens that stopped accepting within the window. Recompute the spike with those kitchens removed. If the spike survives, then talk about riders. If it collapses, talk to the stalls — or stop inflating incentives for a window that was never going to cook.
Tourist-bus nights still break this method. We say so in class. A coach arriving at 21:50 can create genuine demand that no close-time table predicted. Keep a manual override, and write down that you used it.
Back to the journal · Night Market Demand sits on the course list