AI Dynamic Pricing for Black Friday: Signals, Rules and Limits
· CompaniesAutomation
How to build an AI dynamic pricing engine for Black Friday and the sales season: which signals to watch, which guardrails to set, the EU Omnibus limits, and how to measure it.
AI dynamic pricing means a system adjusts your selling price automatically and frequently based on real signals — demand, stock, margin, competitor moves, logistics cost — inside rules the business sets. During Black Friday and the sales season that capability stops being a luxury: it is the difference between selling out your highest-margin product halfway through the campaign and dragging the one nobody wanted at full price into January.
It is also the fastest place to break something. A badly bounded pricing engine burns margin, breaches the EU rules on announcing price reductions, and destroys the trust of a customer who sees three different prices in two days. We build these systems for retail and ecommerce, and the repeated lesson is that 80% of the work is not in the model: it is in the rules that stop it doing something stupid. This guide covers the signals, the rules, the legal limits in the EU and how to measure whether it actually works.
What is dynamic pricing, and what is it not?
Dynamic pricing means the price of an item changes over time with market conditions — the same price for every buyer at that moment. It is not the same as personalised pricing, which shows different prices to different people based on their profile or behaviour. Legally and commercially these are two very different things, and conflating them is the root of most trouble.
- Dynamic. One price for everyone at a given instant, adjusted for demand, stock or competition. Airlines and hotels have done it for decades; it is now viable for any catalogue.
- Personalised. A different price per user based on personal data or automated decisions about their profile. In the EU this is legal, but it obliges you to tell the consumer clearly, before purchase, that the price was personalised through automated decision-making — a requirement introduced by the Omnibus Directive. Our practical recommendation for most retailers: do not do it. The marginal gain does not cover the reputational cost when it comes out.
- Promotional. Discounts and campaigns, with their own price-reduction announcement rules. It is the layer that collides most often with the dynamic engine when nobody coordinates them.
- Segmented. Different prices by channel, country or customer type (wholesale versus retail). Legitimate and common, and it needs no disclosure as long as it applies to a declared segment rather than individual profiling.
Which signals should the pricing engine watch?
The ones you can measure reliably and refresh at the speed you want to decide. An engine with three good signals beats one with fifteen dirty ones, and during a campaign the quality of your stock data outranks everything else.
| Signal | Where the data lives | Useful refresh | Risk if it fails |
|---|---|---|---|
| Available and committed stock | ERP or warehouse system | Minutes | Selling what you do not have, or throttling what you do |
| True margin per SKU | ERP, purchase and logistics cost | Daily | Pricing below profitability |
| Sales pace versus forecast | Ecommerce and POS | Hourly in campaign | Reacting late to a stockout |
| Competitor pricing | Comparison sites, marketplaces | Daily | Following somebody else's error to the floor |
| Shipping and return cost | Carrier data, history | Weekly | Positive margin on paper, negative in reality |
The most neglected signal is the last one. In categories with high return rates, a product with 18% margin and 25% returns loses money, and no engine that only watches price and conversion will catch it. If your returns data is not clean, that category stays out of the engine until it is.
Where does AI beat plain old rules?
In forecasting and in volume — not in the decision. A well-built rules sheet handles a 200-SKU catalogue. What a human cannot do is estimate price sensitivity across 40,000 SKUs, recognise that a product behaves like a similar one from last year, or spot demand shifting within a category two weeks before it shows up in sales.
In practice the split that works is: the model estimates demand and price sensitivity; a deterministic engine applies the business rules and computes the final price; a person reviews exceptions. AI proposes the curve, it does not set the price. That separation is what lets you explain afterwards why an item cost what it cost — and in a dispute or an inspection, being able to explain it matters.
The other place it earns its keep is reading the catalogue: grouping SKUs that behave alike, detecting cannibalisation between your own products, and warning that discounting one model is sinking sales of the tier above. Same kind of work we describe in our guide to AI agents in retail.
What are the legal limits in the EU?
Three, and the first one generates the most penalties during campaign season. Build them into the engine itself, not into a procedure somebody has to remember.
- Announcing a price reduction. When you advertise a discount, the reference "previous price" must be the lowest price you applied to that product in the preceding 30 days. This is the Omnibus Directive rule, transposed across the EU — in Spain through Royal Decree-Law 24/2021, in force since May 2022. The direct consequence for your engine: if you raise prices in the days before Black Friday, the discount you can then advertise is computed against that 30-day minimum, not against the inflated price. Penalties fall under national consumer law with wide ranges by severity and region; confirm the applicable regime with counsel before the campaign.
- Disclosure if you personalise. If the price a specific user sees has been adjusted through automated decisions about their profile, you must tell them before they buy. That comes from EU consumer rights law as amended by Omnibus.
- Competition law. Pricing algorithms must not become a coordination channel with competitors. Sharing an engine, forward pricing data or parameters with another operator in your market can be treated as a concerted practice even if nobody signs anything. Watch third-party tools that aggregate pricing across several sellers in the same sector.
The design consequence: these three rules are implemented as hard constraints inside the engine — the reference price computes itself, and the engine cannot publish a discount that breaches the 30-day minimum — not as a warning in a manual.
The rules that are not in the law but cost just as much
Regulation sets the floor; your brand sets the ceiling. These are the guardrails we always install, and the ones that generate the most argument with the commercial team:
- Margin floor per category. No price below a defined contribution threshold, with no automatic exceptions. If it has to be broken, a person breaks it.
- Daily change ceiling. A cap on how much a price can move in 24 hours, typically single-digit percentage. It avoids the "dancing price" effect customers screenshot and share.
- Freeze during an announced campaign. If you communicated a Black Friday price, that price does not move until it ends. Raising it mid-campaign is legally defensible and commercially suicidal.
- An untouchable SKU list. Loss leaders, image-price items, SKUs under brand agreements. Out of the engine by decision, not by oversight.
- Treatment of recent buyers. If somebody bought 48 hours ago and the price drops, refunding the difference costs less than the review. Automate that refund before you automate the drop.
How do you measure whether the engine works?
By total contribution margin — never by conversion or revenue alone. Cutting prices always improves conversion; the question is whether the extra volume covers the margin you gave away, and that answer only appears when you measure contribution after product cost, shipping and returns.
The clean way to know is a control group: leave part of the catalogue — comparable categories, not your worst — on fixed prices during the campaign and compare contribution per SKU per week. Without a control group, every result gets attributed to the engine, including the lift that would have happened anyway because it was Black Friday.
The metrics we track in a deployment: contribution per unit sold, share of catalogue sold out before campaign end, share left overstocked, number of manual overrides on the engine, and price-related complaints. The fourth predicts survival best: if the team has to correct it daily, they do not trust it and will eventually switch it off.
How to roll it out before a campaign
- Start eight weeks out. You need clean history and, above all, a correctly computed 30-day minimum price before you announce anything.
- Pick one or two categories, not the whole catalogue. Ideally with enough volume to read results and without being your flagship product.
- Run in recommendation mode first. Two weeks where the engine proposes and a person approves. That is where you discover which rules are missing, and some always are.
- Enable automatic execution inside the guardrails — margin floor, change ceiling, untouchable list — with every price change logged along with its reason.
- Close the campaign with the control-group comparison and decide with numbers whether to expand. We treat it like any other project: if it cannot be measured, it does not ship.
A pricing engine of this kind at SMB scale sits in the usual custom-agent range, €3,000-15,000 depending on how many systems it connects to, plus 10-20% annual maintenance. If your problem is more catalogue and conversion than price, the starting point is our guide to AI agents for ecommerce; and if you would rather scope it with a team that builds these systems every season, that is how we work from our AI agency in Madrid.
Frequently asked questions
Is it legal to change prices several times a day?
Yes. Freedom to set prices is the general rule and there is no frequency limit. What is regulated is how you announce a reduction — with the lowest price of the previous 30 days as the reference — and the duty to disclose when a price has been personalised through automated decisions. Changing your selling price transparently, without advertising fake discounts, is entirely lawful.
Can I raise prices before Black Friday to discount more afterwards?
You can raise the price, but it will not let you advertise a bigger discount: the mandatory reference is the lowest price of the previous 30 days, precisely to prevent that. It is one of the most closely watched practices during campaign season and one of the easiest to prove, because comparison sites keep the history.
How much history does the model need to be useful?
As a practical benchmark, a full year of sales per SKU lets you estimate seasonality; with two previous campaigns of the same type, forecasts improve markedly. With less history the system is still useful as a rules engine over stock and margin, but do not sell the predictive part until the data supports it.
What if a competitor prices below my cost?
Your engine should not follow. That is what the margin floor is for. Matching an unsustainable price by automatic reflex is the fastest way to fund somebody else's campaign. The rule we apply is to treat competitor pricing as a context signal, never as a target to match.
When is automating pricing not worth it?
When the catalogue is small and stable, when margin leaves no room to move price, or when stock and cost data are not reliable. In those cases a pricing engine amplifies a data problem instead of solving a business one. We expand on that test in our article on when not to automate with AI.