When you run a Price Optimization strategy, most products get an AI-calculated suggestion. But some products come back with a confidence level of rule_based and a price that looks like it wasn't really optimized. This is expected behaviour, not an error. Here's what's happening.
What is an action item?
To recommend a price with confidence, the AI needs enough sales history and price variation to learn how demand responds to price for that product. Some products simply don't have that history yet: imagine a brand-new product with three total sales. There's no reliable pattern to learn from, so any "optimal" price would be a guess dressed up as a calculation.
For these products, the system falls back to an action item: a simple, conservative pricing instruction rather than a curve-fitted optimization. Which one a product gets depends on why it fell short:
Situation | Action item | Why |
No sales at all in the past six months | Lower price 10% | The product looks genuinely dead, so the system probes for demand with a clear cut. |
A normally-active product whose sales suddenly dropped to zero | Lower price 10% | The silence is itself a signal that something is off. |
Cost data is missing or close to zero | Keep price | Margin can't be verified, so the system holds rather than cutting blindly (only profit optimisation, demand and revenue can still be estimated). |
Has sales, but too little price variety to learn from | Lower price 5% | A small nudge down starts creating the price variation the model needs. |
Anything else below the modelling bar | Keep price | Hold the price and keep gathering data. |
These are deliberately cautious. The logic is "we don't have enough evidence to move this price confidently, so hold it or nudge it gently," not "we calculated this exact price is best."
One case works the other way. A product that is selling below cost gets a raise price action instead, targeting break-even plus a small margin. See How the System Handles Products Sold at a Loss.
Worth knowing about the "suddenly went quiet" rule: it's judged against each product's own normal rhythm, not a fixed number of days. A slow mover that sells nothing for a fortnight looks perfectly normal and is left alone. A product that usually sells briskly and then goes silent trips the rule, because for that product the silence means something.
The two reasons a product becomes rule_based
Not enough sales history. The product hasn't sold enough and/or does not have enought variation in price for the AI to model its demand reliably.
Missing cost data under a profit objective. If your strategy includes any profit weight and a product has no valid cost, the system can't calculate its profit, so it leaves the price unchanged rather than producing a meaningless number. It can however still model the demand/price -relationship, hence revenue and demand optimization are available.
In both cases the fix is better data, not a configuration change. Once a product builds up enough sales history (and has valid cost data), later runs will optimize it normally. If missing cost is the issue, switching to a pure demand or revenue objective (which don't need cost) will let those products be optimized instead.
"But it sells fine!": why volume isn't enough
A frequent surprise: a product that sells steadily every day still comes back rule_based. Selling well isn't sufficient on its own. To learn how demand responds to price, the AI needs to have seen the product sold at several different prices: that's the signal it learns from. A product that sells plenty but almost always at the same price gives lots of volume and no price-response signal.
The usual fix is therefore more price variation in the history, not more sales.
This test is also run per group, on the group's combined history, so a strong, frequently-repriced product generally clears the bar for its whole group rather than being held back by quieter siblings. A product is rule-based only when its group as a whole lacks that signal.
A second route in: borrowing from the category
A group that lacks price variety of its own isn't automatically stuck on the rule-based path. If the product's broader category has been sold across enough distinct price points, a group with steady sales but flat prices can inherit the category's sense of how demand responds to price, while keeping its own sales level as the baseline.
In practice this rescues a lot of products that would otherwise get a simple rule. It only works when product category data is available and that category itself has enough price variety to learn from, which is one good reason to keep your product categorisation complete and tidy.
Products priced this way carry a borrowed (high/medium/low) confidence label. See Understanding Confidence Levels.
How action items move through the rest of the pipeline
An action-item product skips the AI optimizer, but it still behaves like any other product from there on:
It still passes through safeguards, pricing groups, and rounding.
Any business rule you've configured (for example, "subtract 5%") still applies on top of it, because a rule doesn't care how the underlying price was produced.
In the results, its "price before safeguards" field is empty, because no optimizer step ran for it.
Don't confuse action items with Pricing Actions
Despite the similar names, these are unrelated:
Action items are automatic fallbacks the system assigns to products it can't model reliably. You don't configure them.
Pricing Actions are business rules you set up (see Which Pricing Actions Apply During Optimization).
If you'd like the fuller picture of how suggestions are produced, see How Price Optimization Works.
