Skip to content
All posts

· 5 min read

Why was Saturday so busy? Separating your normal week from everything else

Before you can say what an event or a heatwave did to your trade, you need a fair idea of what the day would have looked like without it. Here is how LocalPulse builds that baseline.

Most owners can tell you, without looking at a report, that Saturdays are busier than Tuesdays and that August is not February. That is the easy part of demand. The interesting part is everything left over: the Saturday that was twice as busy as the one before, the Tuesday that sold out, the bank holiday that was quieter than expected.

To explain those, you first need an honest answer to a simple question: what would this day have looked like if nothing unusual had happened?

Step one: the normal day

LocalPulse starts by fitting a baseline to your own history. It has three parts: the day of the week, the time of year, and a slow trend for whether the business is growing or shrinking overall. Together they give an expected figure for every date, before any weather, events or holidays are taken into account.

The baseline is yours, not an industry average. A city-centre pub that peaks on Friday and a seaside café that peaks on Sunday get very different shapes, and that is the point.

Step two: the drivers

Next, each day gets a set of driver values that are zero on an ordinary day and non-zero when something is going on:

  • how much warmer or colder it was than normal for that month in your town
  • whether there was light or heavy rain, strong wind or unusual sunshine
  • public and regional holidays, and the day before them
  • events nearby, sized by attendance and distance and rated for your kind of business
  • school holidays, payday weekends and holidays in your customers’ home countries
  • disruption and news that affected your area

The model then learns how much each driver moves your demand. Because it works on a percentage scale, the answer comes out as something you can read directly, such as “heavy rain takes about a fifth off this café’s covers”.

Step three: don’t over-learn from one weird day

Two things stop the model from drawing big conclusions from small evidence. First, every driver starts from a sensible assumption for your type of business and only moves away from it as your own data justifies. A café with three months of history doesn’t get to decide that rain is good for trade because of one wet Saturday that happened to coincide with a festival.

Second, days the model can’t explain at all are down-weighted when it learns, so a one-off shock (a burst pipe, a private hire, a power cut) doesn’t bend every other estimate.

Step four: say what isn’t explained

Finally, for any day, the difference between what happened and the normal day is split between the drivers, and whatever is left over is shown as unexplained. We think that grey bar is one of the most useful things on the screen. If a big swing is mostly unexplained, either something happened that we don’t track yet or the data has a problem, and both are worth knowing.

For those days LocalPulse can go and look: it searches for what happened locally on that date, checks the evidence against the dates, and either logs what it found or asks you to confirm it.

Try it on a demo

The four demo businesses use real weather and holidays for their cities, but their demand is synthetic: we generated it from known effects plus noise. That makes them a fair test. You can open any day and check whether the model recovered the effects we put in.

Get the next post by email

About once a month. Unsubscribe in one click.

Send me the LocalPulse newsletter: occasional notes on what moves hospitality demand, and product news. Unsubscribe anytime. We'll email you a link to confirm. See our privacy policy.

See what moves your trade.

Start a 14-day trial with no card, or open a demo first.