# Models and forecasting

> What a model is, how a simple forecasting model extends a trend, and how to tell whether the forecast is any good.

- Course: [Statistics for Product Managers and Marketers](https://productovi.com/courses/statistics-for-pm-and-marketers.md)
- Module: Modelling and segmentation
- Lesson 21/24, ~38 min
- Source: https://productovi.com/courses/statistics-for-pm-and-marketers/models-and-forecasts

## What a model is

**Alex Tutor:** Morning. Before our product team forecasts anything for CatChow, we need to talk about *models*. Everyone throws the word around, but here it means something specific. By the end, you'll build a simple forecasting model and test it.

**Sofia:** A model... like a 3D model of the warehouse? Or you mean a spreadsheet?

**Alex Tutor:** Closer to the spreadsheet. A mathematical model is a simplified stand-in for something real — it lets us test ideas without running the actual experiment on customers.

![A cat on a desk next to a small cardboard model of a cat-food shop, with the real shop building in the background.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/models-and-forecasts-illustration-2.webp)

*A model keeps only the parts that matter, so we can try ideas without touching the real shop.*

> **Mathematical model**
>
> A simplified, formal description of a system that lets you explore scenarios — 'what if we raise prices 10%?' — without running the real experiment.

**Alex Tutor:** Models come in two flavours. A *functional* model links inputs to one outcome, like an equation predicting churn from price and delivery speed.

**Alex Tutor:** A *structural* model instead breaks one big concept into its components — say, splitting 'customer loyalty' into trust, habit and advocacy.

**Sofia:** So a churn equation is functional, and a loyalty breakdown is structural. Got it — can I build one in Excel by lunch?

**Alex Tutor:** Slow down. First we decide *what* might matter — that's the content model. Only then do we collect data and fit the formal model.

> **Exercise:** Which of these is an example of a *functional* model at CatChow?

## Two more ways to describe a model

**Alex Tutor:** Models also split into *static* vs *dynamic*, and *continuous* vs *discrete*. Static describes one moment; dynamic describes change over time.

**Sofia:** And continuous vs discrete?

**Alex Tutor:** Continuous variables take any value — order value in hryvnias. Discrete ones take a limited set — small, medium, large box.

**Alex Tutor:** Quick check on that one.

> **Exercise:** CatChow is building a model of each order. Which of these variables is **discrete**?

**Sofia:** So this week's segment mix is static, and 'orders are growing 5% a week' is dynamic?

**Alex Tutor:** Exactly. And most real CatChow models mix types — a dynamic model with both continuous revenue and discrete plan tiers.

> **Exercise:** Match each modelling term to its description.

## A simple forecasting model: extending the trend

**Alex Tutor:** Let's forecast something real: weekly orders. For four weeks CatChow logged 200, 215, 230, 245 orders — a clean upward trend.

**Weekly orders: actual vs forecast**

| Week | Actual | Forecast |
| --- | --- | --- |
| W1 | 200 |  |
| W2 | 215 |  |
| W3 | 230 |  |
| W4 | 245 |  |
| W5 | 258 | 260 |
| W6 |  | 275 |

*The trend fitted on weeks 1–4 predicted 260 orders for week 5; the actual came in at 258. It forecasts 275 for week 6.*

$$
y = b_0 + b_1 \cdot \text{week}, \quad b_0 = 185,\ b_1 = 15
$$

*The fitted trend line through weeks 1–4: 15 more orders every week, starting from a base of 185.*

**Alex Tutor:** Plug in week 6: 185 + 15 × 6 = 275 orders. That's the forecast — a straight line extended one step further.

**Sofia:** Nice, so I just extend the line forever and I'm the office Nostradamus?

**Alex Tutor:** Not forever — only a little past your data. Trends bend: seasonality, saturation, a competitor's discount. Forecasts need an honest interval, not blind faith.

> **Exercise:** CatChow's weekly orders for weeks 1–4 were 200, 215, 230, 245 — a straight line. Using the fitted trend y = 185 + 15 × week, what does it forecast for week 6?

## How to check a forecast: residuals and a naive baseline

**Alex Tutor:** Week 5 actually landed at 258 orders. Our model predicted 260. That gap is called the *residual*: actual minus predicted.

**Sofia:** 258 − 260 = −2. Basically nailed it?

**Alex Tutor:** Right — a 2-order miss on 258 is under 1%. Compare that to a lazy model that just repeats last week's number: 245.

**Alex Tutor:** That naive model misses by 258 − 245 = 13 — over six times the trend model's error. The trend model is clearly better here.

**Sofia:** So more error = worse model, obviously. Can I just add ten more variables and get the error to zero?

**Alex Tutor:** You could — and get a model that memorised the past perfectly and predicts the future terribly. That's *overfitting*.

> **Exercise:** CatChow's trend model forecast 260 orders for week 5; the actual came in at 258. What is the residual (actual − predicted)?

## Fixing overfitting: the holdout test

**Alex Tutor:** The fix: test the model on data it hasn't seen — a holdout period — before trusting its forecasts.

> **Holdout test**
>
> Fit the model on part of the data, then check its error on the part it never saw. Real forecasting skill shows up there, not on the training weeks.

![A cat studies a big stack of blue cards while keeping a smaller orange stack face down under its paw.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/models-and-forecasts-illustration-3.webp)

*Keep some weeks out of sight while building the model, then see how well it predicts them.*

**Sofia:** So a perfect fit on old data can still be a bad forecaster?

**Alex Tutor:** Exactly — and it's the single most common mistake I see in growth decks.

**Sofia:** Noted. I'll stop bragging about my R² in stand-up.

> **Exercise:** Once a forecasting model fits the historical data perfectly, you can trust it to predict the future just as well.

**Alex Tutor:** One more habit worth building: state forecasts as an interval, like '260 ± 15', not a bare number.

**Sofia:** Because week 5 could've easily been 250 or 270, not exactly 260?

**Alex Tutor:** Exactly — an interval tells everyone how much to trust the number, and keeps you honest when reality wobbles.

**Alex Tutor:** So which of these two lines would you put in the weekly update?

> **Exercise:** CatChow's trend model for weekly orders gives 275 orders for week 6. Which line is the **better** one for the weekly update?

![A cat archer's orange arrow lands inside a highlighted ring around the centre of a target, not exactly in the middle.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/models-and-forecasts-illustration-4.webp)

*A forecast is more honest as a band: you'll rarely hit the exact centre, but you can say how close to expect.*

**Alex Tutor:** Last habit: re-check the model whenever the business context shifts — new pricing, new season, new competitor.

> **Exercise:** Which of these are good practices when building a forecasting model? Select all that apply.

**Alex Tutor:** Now let's fast-forward three weeks and give the trend model a proper exam on weeks it never saw.

> **Exercise:** You check CatChow's trend model for weekly orders, y = 185 + 15 × week (fitted on weeks 1–4), on weeks it never saw. Forecasts for weeks 5, 6 and 7: 260, 275, 290. Actual orders: 258, 268, 284. What is its mean absolute error (the average of the misses, ignoring the sign)?

## Wrapping up

**Alex Tutor:** Quick recap before the harder questions: models simplify reality, forecasts extend a fitted trend, and every forecast needs an honesty check against new data.

**Sofia:** And I promise not to extrapolate four weeks into a five-year plan.

**Alex Tutor:** That's the spirit. Now — explain it in your own words, then handle a real budget request.

**Sofia:** Deal. Though I reserve the right to blame seasonality when I'm wrong.

> **Exercise:** In 2–3 sentences, explain to a colleague why a model that perfectly matches every historical data point can still be a bad forecasting tool.

**Alex Tutor:** Nice explanation. Now let's put it to work: marketing wants a decision, not a definition.

**Sofia:** Uh oh. Real stakes.

**Alex Tutor:** Real stakes, real ad budget. Here's the situation.

**Sofia:** Give me the scenario — I've got my holdout hat on.

> **Exercise:** Write your recommendation for the ad budget decision.

**Alex Tutor:** Solid reasoning. That's models and forecasting — next stop, clustering, where we let the data pick the segments for you.

- Previous lesson: [Logistic regression and classification](https://productovi.com/courses/statistics-for-pm-and-marketers/logistic-regression.md)
- Next lesson: [Clustering for customer segmentation](https://productovi.com/courses/statistics-for-pm-and-marketers/clustering.md)

---
Productovi Learning. Free, no sign-up needed to read.
