Can AI Help a Small Shop Set Prices and Promotions?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Can AI Help a Small Shop Set Prices and Promotions?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Can AI Help a Small Shop Set Prices and Promotions?

Yes, as an analyst and a drafting partner. AI can sort your products by how they sell, test whether a promotion will make or lose money against your real margins, suggest bundles and timing, and write the offer copy. It cannot know how your customers react to price without your sales data, and it should not set prices unsupervised.

The step most small shops skip is the arithmetic, and it is where AI is most useful and most dangerous. A chatbot will happily agree that "20% off sun cream" is a great idea. Ask it instead to work out how many more bottles you must sell just to earn the same profit, and to show the formula, and the conversation changes. That calculation is the heart of this tutorial.

Follow me on Instagram@sagnikteaches

Where AI earns its place in a small shop's pricing

Five jobs, in rough order of how much they tend to pay back:

Connect on LinkedInSagnik Bhattacharya
  1. Checking promotions against margin before they run. The break-even test below takes two minutes with AI and prevents the most common and expensive pricing mistake.
  2. Giving each product a role. From a sales export, AI can group products into traffic drivers (people come in for them and notice the price), margin makers (bought without price comparison) and slow movers (tying up cash and shelf space). Pricing each group differently is basic retail practice that small shops rarely have time to do.
  3. Spotting awkward price points. Products priced at $10.40 next to competitors at $9.99, or a large pack that costs more per unit than two small ones. AI reads a price list for these faster than you can.
  4. Planning the calendar. Given last year's weekly sales, AI can show when each category peaks, so promotions go where they add sales instead of discounting what would have sold anyway.
  5. Writing offers and signs. Clear shelf-edge wording, social posts and email copy, once the numbers are settled.

The product roles in job 2 change what a "better" price means. Consider a convenience shop, with illustrative figures, selling 400 pints of milk a week at $1.60 on a 15% margin: $0.24 profit a pint, $96 a week. A chatbot looking only at margin suggests $1.80. If that loses 40 of the 400 buyers, milk profit rises to 360 × $0.44 = $158.40, up $62.40. But suppose each milk buyer also spends about $6 on other things at a 30% margin. Those 40 lost baskets were worth 40 × $6 × 30% = $72 a week, so the "better" price costs the shop about $10 a week overall. That's why you tell the AI which products are traffic drivers before asking it for price changes, and why you ask it to include basket spend in any price-rise sum.

Subscribe on YouTube@codingliquids

For the margin groundwork, checking your margins product by product with AI sets up the data that everything here depends on.

The break-even check every promotion must pass

When you cut a price, each sale earns less profit, so you need more sales to stand still. The formula for the extra units you need is:

Required increase in units = discount ÷ (margin − discount), with both as percentages of the normal selling price.

So at a 40% margin, a 10% discount needs 10 ÷ 30 = a 33% increase in units to make the same profit. Here is how quickly that grows:

Your margin10% off15% off20% off25% off
30%+50% units+100%+200%+500%
40%+33%+60%+100%+167%
50%+25%+43%+67%+100%

Read the 30% row slowly. A shop earning a 30% margin that runs "20% off" must triple its unit sales just to make the same money. Unless the promotion brings in new customers who also buy other things, most price cuts at that margin lose money. This one table stops more bad promotions than any software.

A pharmacy's summer promotion, run through the numbers

Take an independent pharmacy thinking about its shop floor for July: sun cream, after-sun, travel sizes. (Medicines may carry their own pricing and promotion rules, so this example stays with general retail lines.) The figures are illustrative.

Sun cream sells at an average of $12 a bottle with a 35% margin, so $4.20 profit per bottle. Last July it sold about 60 bottles a week, and about 15 of those customers also bought after-sun at $9, also at a 35% margin ($3.15). Weekly profit from the two lines: 60 × $4.20 + 15 × $3.15 = $299.25.

Option A: 20% off all sun cream. Profit per bottle drops from $4.20 to $1.80. To keep $252 of sun cream profit, the pharmacy must sell 140 bottles a week instead of 60, an increase of 133%. Unless a much larger crowd of new customers turns up, this loses money every week it runs.

Option B: sun cream and after-sun together for $18 instead of $21. The bundle earns $4.35 instead of $7.35. The trap is that the 15 customers who already bought both now pay less. If 30 customers take the bundle (the original 15 plus 15 who add after-sun) and total sun cream sales stay at 60, weekly profit is 30 × $4.35 + 30 × $4.20 = $256.50: lower than doing nothing. If the bundle also draws 15 extra sun-cream buyers and 35 of the 75 take it, profit reaches about $320, a real gain.

Option C: no discount, but a visible "holiday check" display near the till with sun cream, after-sun and travel sizes, plus a pharmacist tip card on reapplying sun cream. Margin stays intact; the question is only whether the display lifts attachment.

The useful conclusion is not "never discount". It is that Option B only pays if it attracts new buyers, so it belongs in the weeks when people are choosing where to buy, early in the season, and should stop once the regulars would have bought anyway. That is a decision the owner makes. AI's job was to make the trade-off visible in ten minutes.

Asking AI to read your sales export

Export a year of weekly sales by product from your till or shop platform, with cost prices, and upload it to ChatGPT, Claude or Gemini (on a business plan, or with the model-training switch in privacy settings turned off). Then ask for specific outputs rather than "insights".

This file has 52 weeks of sales by product: product, category,
week, units, selling price, cost price.
1. Calculate margin % per product as (price - cost) / price.
   Show the formula you used and the result for the first 3 rows
   so I can check it.
2. Group products into: traffic drivers (high units, bought
   often), margin makers (margin above 45%, steady sales), slow
   movers (fewer than 2 units a week). Show a table per group.
3. For the category "Suncare", show units by week so I can see
   when the season starts and peaks.
Don't recommend discounts yet. Just the analysis.

An illustrative first answer might open like this:

Your most profitable line is Suncare, generating $9,840 over the
year, followed by Baby Care ($7,210) and Oral Care ($6,030).
Recommendation: focus promotions on Suncare to drive further growth.

Two things are wrong, and both are common. First, those figures are revenue, not profit: the model summed price × units and called it profitable. Second, it recommended a discount despite being told not to. The fix is to point at step 1 ("show the margin formula for three rows") and ask again. When it recalculates, Suncare may turn out to have one of the lower margins in the shop, which is exactly why discounting it is risky. Spreadsheets do the arithmetic more reliably than chat, so for large files ask the AI to write the formulas for you to paste into Excel or Google Sheets; why AI is bad at maths explains where chat arithmetic slips.

The price-point check in job 3 works well as a separate prompt on your price list. For a small hardware shop, an illustrative version:

Here is my price list: product, product family, pack size, unit,
selling price. Within each product family only, flag any case where
a larger pack costs more per unit than a smaller one, or where two
prices sit within 5% of each other for very different pack sizes.
Show the per-unit price you calculated for each flag.

An illustrative reply: "1. Wood screws 4x40mm: box of 100 at $4.50 ($0.045 each), box of 200 at $9.80 ($0.049 each). The larger box costs more per screw. 2. Masonry paint 5L at $38 vs interior emulsion 2.5L at $21: larger tin is cheaper per litre, fine. 3. Cable ties 100-pack at $3.20 vs 250-pack at $3.30: nearly the same price for 2.5 times the quantity." Flag 1 is a genuine fix: take the 200-box to about $8.50. Flag 3 is worth a look, though it may be deliberate if the 250-pack is clearing. Flag 2 shouldn't exist, because masonry paint and emulsion are different products; it appeared because both had been entered in the family "Paint". Split the family into "Exterior paint" and "Interior paint" and run it again.

What AI cannot know about your prices

  • How your customers respond to price. Unless you have run price changes before and the data shows the effect, AI is guessing from general retail patterns. A regular who comes in for her prescription and picks up hand cream will not notice a 30-cent rise; a parent comparing nappy prices across three shops will.
  • Competitor prices, reliably. Chatbots with web search find some published prices, often out of date or for different pack sizes. Tracking competitors' prices and offers with AI shows a more dependable method.
  • What your supplier will fund. Many retail promotions are part-paid by the brand. AI doesn't know your supplier terms unless you tell it, and a supplier-funded 20% off has a very different break-even from one you pay for yourself.
  • Your stock position. A promotion on something you can't restock quickly ends in empty shelves and disappointed customers.
  • What you want the shop to stand for. Permanent discounting teaches regulars to wait for the offer.

For the wider question of what AI can and can't tell you about what to charge, see the limits of AI pricing research.

Pricing rules that apply whoever sets the price

AI doesn't change your obligations, and it can make it easier to break them by accident.

  • "Was" prices must be real. Consumer-protection rules in most places require a reference price to be one you genuinely charged, and many set conditions on how long or how recently. An AI asked to "write a sale sign showing savings" will invent a plausible "was" price if you don't give it one. Give it the actual previous price and check your consumer-protection regulator's guidance on reference pricing.
  • Don't pool confidential prices with competitors. Competition authorities have warned that pricing tools which combine rivals' non-public pricing data can amount to illegal coordination. Using AI on your own data and public competitor prices is fine; joining a shared "pricing intelligence" scheme with other local shops needs legal advice.
  • Keep regulated products out of automated promotion. In a pharmacy that means medicines; in other shops it may mean alcohol, tobacco or age-restricted goods. Have a named person approve anything in those categories.

Here is the "was" price problem in practice, as an illustration. Asked to "write a shelf sign for our sun cream and after-sun bundle at $18", a chatbot returns: "SUMMER SAVER! Was $24.99, now just $18! Limited time only!" Nothing in the prompt said $24.99, and the two items normally cost $21 together. The honest version gives the real comparison and a real end date: "Sun cream + after-sun together for $18. $21 if bought separately. Offer ends 31 July." It's less exciting and it's defensible, and a regular who knows the usual prices won't catch you out.

A 45-minute monthly pricing review

Once the data is set up, a monthly routine keeps prices honest without taking over your week. Here is a filled-in example of the one-page review sheet for the pharmacy in August:

MONTHLY PRICING REVIEW - August
Data: July sales export + current cost prices (updated 1 Aug)

1. Cost changes this month:
   After-sun supplier cost up 6%. Margin now 31%.
   Action: raise shelf price $9.00 -> $9.49 (check vs 2 rivals first).
2. Slow movers (under 2/week for 8 weeks):
   Travel hair dryer, 3 electric toothbrush heads.
   Action: move to clearance shelf at 25% off; delist once sold.
3. Price-point check (AI flagged):
   Large mouthwash $6.80 vs 2 x small at $6.40 total.
   Action: reprice large to $6.29.
4. Last promotion result (holiday display, July):
   After-sun attachment 25% -> 33% of sun cream buyers.
   About 5 extra after-sun a week: +$16/week profit, no discount.
   Keep for August.
5. Next promotion to test: back-to-school oral care, early Sept.
   Break-even at 45% margin, 10% off: +29% units needed.
   Supplier offer: funds 5 of the 10 points. Revised: +12.5%.
   Decision: run it, 2 weeks, measure against last September.

Item 5 shows why supplier funding matters: with the brand paying half the discount, the pharmacy's own cost is 5 points against a 45% margin, so 5 ÷ 40 means it needs only 12.5% more units.

Before item 5 goes ahead, one more sum: stock. Suppose children's toothbrushes normally sell 50 a week and the plan assumes about 30% more during the offer, so 65 a week for two weeks, or 130 in total. If 80 are on the shelf and in the stockroom and the supplier takes a week to deliver, the pharmacy needs to order at least 50 more before the offer starts, plus a few for the week after. Ask the AI to do this check for every promoted line in one go, from the stock report, and check its arithmetic on one row.

Did the promotion actually work?

Most small shops judge a promotion by whether the promoted item sold more. That is the wrong test, because a discount almost always sells more units. Ask AI to compare, with your data:

  1. Profit, not units, on the promoted items during the promotion, against the same weeks last year and the weeks just before.
  2. The weeks after. If sales drop below normal once the offer ends, customers stocked up at the lower price and you pulled future sales forward.
  3. The rest of the basket. Did transactions that included the promoted item also include more of anything else? That is where a promotion earns its keep.
  4. New versus returning customers, if your till or loyalty scheme records it.

Applied to the back-to-school test, an illustrative result might read: oral-care units up 34% over the two weeks, which beats the 12.5% needed. Profit on the promoted lines rose from about $210 a week to about $250. In the two weeks after the offer ended, units ran 8% below the same weeks last year, which cancels part of the gain. Baskets containing a promoted item were no bigger than usual. Verdict: a modest win, mostly paid for by the supplier, worth repeating next September but not every month. Notice that "units up 34%" alone would have suggested a big success.

Here is how that goes wrong in practice. A shop runs "3 for 2" on shampoo, sees units double, and repeats it every month. The weekly sales history shows the truth: in the weeks between offers, shampoo sales fall to almost nothing, because regulars now buy only on promotion. The shop has made its own full price optional. One prompt comparing promotion weeks with non-promotion weeks across the year would have shown it by the third month.

If you have never pulled sales data into a spreadsheet before, these Google Sheets AI prompts are a practical way in, and when the review points to a general price rise rather than a promotion, planning and announcing a price increase with AI's help covers the customer side.

Pricing and promotions with AI: common follow-ups

Is dynamic pricing software worth it for a small shop?

Rarely for a physical shop with paper shelf labels, because changing prices often is costly and confusing for regulars. For an online shop with a large catalogue and competitors changing prices daily, a repricing tool can pay off. Start by reviewing prices monthly with AI and a spreadsheet; move to software only if the monthly review keeps finding the same gaps.

Can I ask ChatGPT what my competitors charge?

You can ask, but treat the answer as a lead, not a fact. Chatbots with web search may find published prices, yet they often miss in-store offers, pick up outdated pages or mix up pack sizes. Check any competitor price yourself before acting on it, and never feed a competitor's confidential pricing into a tool.

What data do I need before AI can help with pricing?

At minimum, twelve months of sales by product and week from your till or shop platform, plus the cost price for each product so margins can be calculated. Without cost prices, AI can only analyse revenue, which is where most misleading pricing advice starts. Promotion dates from last year are useful too.

Further reads

Sources: break-even calculations are standard retail margin arithmetic worked for this tutorial; pricing figures in the examples are illustrative, not market data.

Want your promotions checked before they run?

On a 1:1 call we'll pull your sales and cost data into one sheet, set up the break-even check for your next promotion, and write the prompts your team can reuse each month.

Book a 1:1 call with me