Wednesday, 9 AM. My Telegram bot pings: 24K orders so far. For the last four weeks, same day, same hour, the average was 27K. I don’t need to open a dashboard to know today is off.
At AhaMove, an on-demand delivery platform, order volume isn’t random. It follows the rhythm of life. Monday, shops reopen after the weekend, orders start trickling in. Tuesday picks up. Wednesday and Thursday peak. Shipments pile up early in the week and flush out mid-week. Weekends slow down. People rest, shops rest. On lunar holidays, orders spike again. Fruit baskets, flowers, offerings. It’s not a technical pattern. It’s a human pattern.

And it doesn’t just repeat by day. It repeats by hour. 8 AM on a Wednesday, four weeks in a row, almost the same number. 9 AM too. 10 AM too.
Which means: if I know how many orders came in by 9 AM, I can estimate how many we’ll have by end of day.
The method is so simple. Take the last four weeks, same day of week, same hour. Each week gives you a pair: x is orders at 9 AM, Y is the EOD total. Four pairs. Fit a straight line.
Y = Ax + B
Today, 9 AM, 24,000 orders. Plug it in. The model says end of day is around 175,000. Target is 200,000. I have the whole day to react instead of finding out at 6 PM that we missed.

The pipeline runs itself. Apps Script fetches numbers from BigQuery into Sheets every minute, computes the forecast, and pushes it to a Telebot. Under 50 lines of code. No data engineer. No ML pipeline. I open Tele in the morning, see, and know what to do.
When the number is low, the first move isn’t to blast a promotion. The first move is to ask: why? Heavy rain? Public holiday? Is Grab running a campaign? If a competitor is flooding the market with coupons, sending your own is just burning cash. Think before you act.
But if nothing unusual is happening, I start digging. Which customer segment dropped? Which district? Who was ordering last week but disappeared this week?
People think forecasting needs a complex model. I used to think so too. But when I actually looked at the data, the pattern was surprisingly simple. On-demand orders aren’t weather. They repeat. This week looks like last week looks like the week before.
The hard part isn’t the math. It’s realizing the math is enough.
This morning, Wednesday, 9 AM. The bot pings again. I glance at the number, compare it to the last four weeks. Slightly above average. Probably don’t need to do anything today.
Probably.
Reach me if you have other perspectives, or just want to say hello.
Say something.