{"course":{"slug":"ai-for-small-business","title":"AI for a Small Business","url":"https://addaly.com/learn/ai-for-small-business","level":"beginner","track":"work"},"lesson":{"slug":"seasonality-and-the-events-register","title":"Patterns you can name, and the promotion that poisons the history","url":"https://addaly.com/learn/ai-for-small-business/seasonality-and-the-events-register","position":72,"of":88,"minutes":8,"answer":"Most of the variation in small-business demand is explained by things you already know the names of, and an unrecorded promotion or closure turns a knowable pattern into noise for every analysis you do afterwards.","keyIdea":"Most of the variation in small-business demand is explained by things you already know the names of, and an unrecorded promotion or closure turns a knowable pattern into noise for every analysis you do afterwards."},"body":{"format":"markdown","text":"## Decomposing what you see\n\nAny series of weekly figures is roughly three things added together.\n\nA **trend**: the slow direction over a year or more.\nA **repeating pattern**: day of week, week of month, season.\nThe **rest**: genuine randomness plus everything you failed to record.\n\nThe value of separating them is that only one is actionable. Trend tells you whether the business is growing. Pattern tells you when to order and roster. The rest is what you should stop trying to explain, and most owners spend their explaining energy exactly there: on why last Tuesday was slow.\n\n## The patterns that are nearly always present\n\nDay of week is usually the biggest effect in retail, hospitality and personal services, and it is often a factor of two or three between the quietest and busiest day. Anybody analysing daily figures without splitting by weekday is looking at that effect and calling it noise.\n\nWeek of month matters wherever customers are paid monthly, which in many markets produces a distinct first-week peak and a fourth-week trough.\n\nSeason and weather matter in the obvious trades and in several non-obvious ones: accountants have filing seasons, vets have firework nights, garages have the first cold morning.\n\nFestivals move. This is the one that breaks year-on-year comparisons, because Diwali, Eid, Easter and Chinese New Year fall on different weeks each year. Comparing week 42 to week 42 compares a festival week to an ordinary one and produces a dramatic, meaningless number. Align on the event, not the calendar.\n\n## The events register\n\nOne small table, kept by hand, with four columns: date or date range, what happened, whether it raised or lowered trade, and a one-line note.\n\nWhat goes in it: promotions and discounts, price changes, closures, staff absence that limited capacity, the roadworks outside, a machine breakdown, a local event that filled the town, a review or a piece of press, a competitor opening or closing.\n\nWhy it is worth the minute a month: without it, every one of those shows up later as unexplained variation. Your history becomes a series of inexplicable spikes, and any method you or a vendor applies to it will try to learn a pattern from things that were one-offs.\n\nThe worst offender is your own promotion. A half-price week produces a large spike, and a method fitted to that history will forecast elevated demand for the same week next year, when nothing will be on offer. You then order for the spike, and the stock sits there.\n\n## Marking rather than deleting\n\nWhen you find a poisoned period, mark it. Do not delete it.\n\nDeleting leaves a gap that most methods fill by interpolating, which invents ordinary trade where there was none. Marking lets you exclude it explicitly, or model it as an effect, and keeps the record honest about what your business actually did.\n\nThe same applies to closures. A zero on a day you were shut is not evidence of low demand, and averaged in as a zero it drags your figures down all year.\n\n## Doing this without a model\n\nThe whole of this lesson is available in a spreadsheet.\n\nA pivot of average sales by weekday, over a year, tells you the day-of-week effect in one table. The same by week-of-month, and by month. Plot the weekly series and mark your events on it. Twenty minutes, no licence, no vendor.\n\nMost small businesses that do this find one thing they were wrong about: usually a day they believed was busy, or a seasonal peak that has moved by a fortnight over three years without anybody updating the staffing.\n\n## Where a model adds something\n\nWhen effects interact and you cannot hold them in your head: a Saturday in December in the rain, against a Saturday in June in the rain. Regression handles that and a pivot table does not, and free tools do it in a few lines.\n\nBut it earns its place only after the register exists. A method fitted to unmarked history learns your roadworks as a seasonal pattern and will keep predicting it every year, with complete confidence and no way for you to see why."},"check":{"question":"A garden centre ran a heavily advertised half-price weekend last April. This April's ordering is based on last year's weekly figures with a growth adjustment. What is most likely to happen, and why?","options":[{"text":"Demand will be understated, because customers who stocked up during the half-price weekend will not need to buy again, suppressing this April relative to last.","correct":false,"tempting":"A real pull-forward effect in some trades, and it works against a much larger and more immediate error in the opposite direction."},{"text":"The order will be roughly right, because the growth adjustment absorbs one-off distortions by smoothing the overall level across the whole year.","correct":false,"tempting":"Misunderstands what a growth adjustment does; scaling every week by the same factor preserves a spike rather than removing it."},{"text":"The centre will over-order, because the spike was caused by the discount and the history does not record that the discount existed.","correct":true},{"text":"The order will be distorted only if the promotion fell in the same calendar week this year, since week-aligned comparisons are robust to events that move by a few days.","correct":false,"tempting":"Week alignment matters for moving festivals, but a fixed-date promotion in last year's history distorts that week's figure regardless."}]},"prev":{"slug":"the-naive-baseline","title":"The number any forecast has to beat","url":"https://addaly.com/learn/ai-for-small-business/the-naive-baseline"},"next":{"slug":"predicting-who-leaves","title":"Predicting something rare, and why accuracy lies","url":"https://addaly.com/learn/ai-for-small-business/predicting-who-leaves"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Patterns you can name, and the promotion that poisons the history', in AI for a Small Business. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/ai-for-small-business/seasonality-and-the-events-register (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Patterns you can name, and the promotion that poisons the history","courseTitle":"AI for a Small Business","module":{"index":8,"slug":"your-own-numbers","title":"Learning from your own numbers"},"answer":null,"keyIdea":"Most of the variation in small-business demand is explained by things you already know the names of, and an unrecorded promotion or closure turns a knowable pattern into noise for every analysis you do afterwards.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"decomposing-what-you-see","runs":[{"text":"Decomposing what you see"}]},{"t":"p","runs":[{"text":"Any series of weekly figures is roughly three things added together."}]},{"t":"p","runs":[{"text":"A "},{"text":"trend","b":true},{"text":": the slow direction over a year or more. A "},{"text":"repeating pattern","b":true},{"text":": day of week, week of month, season. The "},{"text":"rest","b":true},{"text":": genuine randomness plus everything you failed to record."}]},{"t":"p","runs":[{"text":"The value of separating them is that only one is actionable. Trend tells you whether the business is growing. Pattern tells you when to order and roster. The rest is what you should stop trying to explain, and most owners spend their explaining energy exactly there: on why last Tuesday was slow."}]},{"t":"h2","id":"the-patterns-that-are-nearly-always-present","runs":[{"text":"The patterns that are nearly always present"}]},{"t":"p","runs":[{"text":"Day of week is usually the biggest effect in retail, hospitality and personal services, and it is often a factor of two or three between the quietest and busiest day. Anybody analysing daily figures without splitting by weekday is looking at that effect and calling it noise."}]},{"t":"p","runs":[{"text":"Week of month matters wherever customers are paid monthly, which in many markets produces a distinct first-week peak and a fourth-week trough."}]},{"t":"p","runs":[{"text":"Season and weather matter in the obvious trades and in several non-obvious ones: accountants have filing seasons, vets have firework nights, garages have the first cold morning."}]},{"t":"p","runs":[{"text":"Festivals move. This is the one that breaks year-on-year comparisons, because Diwali, Eid, Easter and Chinese New Year fall on different weeks each year. Comparing week 42 to week 42 compares a festival week to an ordinary one and produces a dramatic, meaningless number. Align on the event, not the calendar."}]},{"t":"h2","id":"the-events-register","runs":[{"text":"The events register"}]},{"t":"p","runs":[{"text":"One small table, kept by hand, with four columns: date or date range, what happened, whether it raised or lowered trade, and a one-line note."}]},{"t":"p","runs":[{"text":"What goes in it: promotions and discounts, price changes, closures, staff absence that limited capacity, the roadworks outside, a machine breakdown, a local event that filled the town, a review or a piece of press, a competitor opening or closing."}]},{"t":"p","runs":[{"text":"Why it is worth the minute a month: without it, every one of those shows up later as unexplained variation. Your history becomes a series of inexplicable spikes, and any method you or a vendor applies to it will try to learn a pattern from things that were one-offs."}]},{"t":"p","runs":[{"text":"The worst offender is your own promotion. A half-price week produces a large spike, and a method fitted to that history will forecast elevated demand for the same week next year, when nothing will be on offer. You then order for the spike, and the stock sits there."}]},{"t":"h2","id":"marking-rather-than-deleting","runs":[{"text":"Marking rather than deleting"}]},{"t":"p","runs":[{"text":"When you find a poisoned period, mark it. Do not delete it."}]},{"t":"p","runs":[{"text":"Deleting leaves a gap that most methods fill by interpolating, which invents ordinary trade where there was none. Marking lets you exclude it explicitly, or model it as an effect, and keeps the record honest about what your business actually did."}]},{"t":"p","runs":[{"text":"The same applies to closures. A zero on a day you were shut is not evidence of low demand, and averaged in as a zero it drags your figures down all year."}]},{"t":"h2","id":"doing-this-without-a-model","runs":[{"text":"Doing this without a model"}]},{"t":"p","runs":[{"text":"The whole of this lesson is available in a spreadsheet."}]},{"t":"p","runs":[{"text":"A pivot of average sales by weekday, over a year, tells you the day-of-week effect in one table. The same by week-of-month, and by month. Plot the weekly series and mark your events on it. Twenty minutes, no licence, no vendor."}]},{"t":"p","runs":[{"text":"Most small businesses that do this find one thing they were wrong about: usually a day they believed was busy, or a seasonal peak that has moved by a fortnight over three years without anybody updating the staffing."}]},{"t":"h2","id":"where-a-model-adds-something","runs":[{"text":"Where a model adds something"}]},{"t":"p","runs":[{"text":"When effects interact and you cannot hold them in your head: a Saturday in December in the rain, against a Saturday in June in the rain. Regression handles that and a pivot table does not, and free tools do it in a few lines."}]},{"t":"p","runs":[{"text":"But it earns its place only after the register exists. A method fitted to unmarked history learns your roadworks as a seasonal pattern and will keep predicting it every year, with complete confidence and no way for you to see why."}]}],"check":{"question":[{"text":"A garden centre ran a heavily advertised half-price weekend last April. This April’s ordering is based on last year’s weekly figures with a growth adjustment. What is most likely to happen, and why?"}],"options":[{"text":[{"text":"Demand will be understated, because customers who stocked up during the half-price weekend will not need to buy again, suppressing this April relative to last."}],"correct":false,"tempting":[{"text":"A real pull-forward effect in some trades, and it works against a much larger and more immediate error in the opposite direction."}]},{"text":[{"text":"The order will be roughly right, because the growth adjustment absorbs one-off distortions by smoothing the overall level across the whole year."}],"correct":false,"tempting":[{"text":"Misunderstands what a growth adjustment does; scaling every week by the same factor preserves a spike rather than removing it."}]},{"text":[{"text":"The centre will over-order, because the spike was caused by the discount and the history does not record that the discount existed."}],"correct":true,"tempting":null},{"text":[{"text":"The order will be distorted only if the promotion fell in the same calendar week this year, since week-aligned comparisons are robust to events that move by a few days."}],"correct":false,"tempting":[{"text":"Week alignment matters for moving festivals, but a fixed-date promotion in last year’s history distorts that week’s figure regardless."}]}],"order":[0,2,3,1],"why":null},"prev":{"slug":"the-naive-baseline","title":"The number any forecast has to beat","minutes":9},"next":{"slug":"predicting-who-leaves","title":"Predicting something rare, and why accuracy lies","minutes":10}}}