Ask Sellforte MCP: Did yesterday look normal?
Welcome to the Sellforte MCP Use Case Library. Each post takes one question that marketing teams really ask their AI assistant through Sellforte MCP, which is now in general availability and accessible to all marketers worldwide. It strips out anything customer-specific and walks through what the assistant does with it, step by step. We run every question on our demo account so the numbers you see are illustrative, not anyone's real results. The idea is simple: steal the prompts, try them on your own model, and see what you get back. We hope you find this series inspiring!
-Juha, CEO at Sellforte
A morning pulse on sales and paid media
If you run e-commerce performance marketing, the first question of the day is usually simple: did yesterday look normal? Getting the answer often means opening the dashboard, checking the data has landed, and eyeballing a few numbers before the stand-up. This use case turns that into a short message your own assistant can produce every morning.
What you ask
Check Sellforte's latest data date. If yesterday is loaded, give me yesterday's total sales against the 7-day average, and paid spend and modelled incremental sales by ad platform, excluding Email. If yesterday isn't loaded yet, say so and stop.
OK, run the same check for the latest day that is loaded.
What Sellforte MCP does
1. The freshness check comes first
The assistant starts by reading the data range of the marketing mix model. That one call is the gate for everything else. We ran this on 2026-11-12, and our demo account's data runs to 2026-11-01. So the honest answer to the first prompt was: yesterday isn't loaded, nothing to report. That's the check doing its job. Our demo account isn't refreshed daily, which is why we asked for the latest loaded day in the follow-up.
2. Total sales against the 7-day average
Next it pulls total sales for the latest day, split into the model's components, and the same total for the seven days before it. Here's the result for 2026-11-01 (illustrative demo data, USD):
| Total sales | USD |
|---|---|
| 2026-11-01 | 574 031 |
| 7-day total, 2026-10-25 to 2026-10-31 | 3 013 593 |
| 7-day average | 430 513 |
So the latest day came in about 33% above the 7-day average. Because the model splits sales into base, promotions, weather and media, the assistant can say more than "it was up". On 2026-11-01, base sales were 284 522, promotions added 122 618 and media 164 241. All three were above their own daily averages for the week before, so this wasn't one channel or one promotion carrying the day.
3. Paid spend and incremental sales by platform
Finally it pulls spend, modelled incremental sales and ROI by ad platform for the same day, leaving Email out because it's an owned channel (illustrative demo data, USD):
| Ad platform | Spend | Incremental sales | ROI |
|---|---|---|---|
| Google Ads | 24 599 | 94 523 | 3.84 |
| Meta Ads | 8 243 | 46 427 | 5.63 |
| Adtraction | 1 758 | 3 675 | 2.09 |
| TikTok Ads | 638 | 1 616 | 2.53 |
| Pinterest Ads | 364 | 1 445 | 3.97 |
| Microsoft Advertising | 356 | 859 | 2.41 |
| Criteo | 331 | 1 068 | 3.23 |
| Awin | 130 | 592 | 4.57 |
| PriceRunner | 45 | 186 | 4.10 |
| Total | 36 463 | 150 392 | 4.12 |
One detail worth knowing: the media figure in the sales split (164 241) and the platform total here (150 392) aren't meant to match. The sales split counts media's effect on the day it lands, while the platform view credits carryover back to the day the money was spent, which is the basis for ROI. Sellforte flags this difference in its answer, and a good morning message should too, or someone will ask why the numbers don't tie.
Why it matters
A daily check is only useful if you can trust it. That's why the freshness gate is the first step, not an afterthought. If the routine ran on a half-loaded day, a normal Tuesday would look like a collapse and someone would start pulling budgets before coffee.
It's the same discipline a good analyst applies to pacing: confirm the last data day is complete before you compute anything from it. One caveat: the check reads the model's end date, not whether every platform has loaded fully, so a partly loaded spend day can still look like a dip. Scheduling the routine a little later in the morning helps.
The rest is about speed. Total sales against a recent average tells you whether the day was unusual. The component split tells you whether it was demand, promotions or media. And the platform table tells you where the spend went and what it earned, in modelled incremental terms rather than each platform's own claims.
How the daily routine fits together
Sellforte MCP answers the questions. The scheduling and posting happen in your own assistant: you set it to run on weekday mornings and post the result to your team's chat channel. Your daily sales budget lives outside Sellforte, so you give it in the prompt if you want the comparison. If you'd rather get the check by email, a daily Sellforte briefing can deliver the same kind of check.
Try these follow-ups
- Which platforms' spend is furthest from their own 7-day average?
- Show the latest day's total sales by sales channel against the 7-day average.
- Compare the latest day with the same weekday last year.
- Plot daily total sales for the last 30 loaded days, split into base, promotions and media.
Related
- Sellforte MCP
- Sellforte dashboard
- Data in Sellforte
- Ask Sellforte MCP: Is our new model run safe to release?
Try it yourself
Book a demo to see the morning check on a model like yours, or read how to connect Sellforte MCP to your LLM client. We add new use cases to this library regularly.
