AI Inventory Forecasting for Small Businesses: How It Works

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Inventory Forecasting for Small Businesses: How It Works.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Inventory Forecasting for Small Businesses: How It Works.

AI inventory forecasting reads each product's past sales, separates the usual level, any trend and the seasonal rhythm, then adjusts for things you tell it about, such as bookings, events or weather. It projects demand forward, adds your supplier's lead time and a safety buffer, and tells you when to reorder and roughly how much.

The forecast can only learn from what your records show, and records hide one big problem. Weeks when a product sold out look exactly like weeks when nobody wanted it. So a forecast trained on raw sales learns to under-order the very items that keep running out. Fixing that in your data does more for accuracy than any choice of software.

Follow me on Instagram@sagnikteaches

The four ingredients of a stock forecast

Every forecasting method, from a spreadsheet to a machine-learning model, is combining four things:

Connect on LinkedInSagnik Bhattacharya
  1. Level: how much sells in a normal period right now. For a campsite shop in early summer, perhaps 40 nets of firewood a week.
  2. Trend: whether the level is drifting up or down over months. Maybe firewood is edging up because more pitches now have fire pits.
  3. Seasonality: the repeating pattern. Firewood peaks in late summer and on cool weekends, and barely sells in the spring holidays.
  4. Known drivers: things that change demand that you can see coming. A public-holiday weekend, a booked rally of 30 caravans, a forecast heatwave that sells ice and kills firewood.

A basic method, such as a moving average, captures only the level. Exponential smoothing, the method behind Excel's FORECAST.ETS function, adds trend and seasonality: it weights recent weeks more heavily and detects the length of the repeating pattern unless you set it. The "AI" in most inventory tools adds the fourth ingredient, known drivers, and does it across hundreds of products at once.

Subscribe on YouTube@codingliquids

From forecast to reorder point

A forecast tells you how much you'll probably sell. To know when to order, add two more numbers: how long the supplier takes (lead time) and how much buffer you want against a busier-than-expected week (safety stock).

Here are the numbers for the campsite's firewood in peak season. Weekly demand averages 60 nets, but it swings: some weeks 40, some 85. That swing, measured as a standard deviation (a figure for how far weeks typically land from the average), is about 18 nets. The log supplier delivers a week after ordering. To avoid running out in about 19 weeks out of 20 (a 95% service level), a standard rule sets safety stock at 1.65 times the swing over the lead time:

Safety stock   = 1.65 x 18 nets x square root of 1 week  = about 30 nets
Reorder point  = demand during lead time + safety stock
               = 60 + 30 = 90 nets

So the shop reorders when stock falls to about 90 nets, and a pallet of 80 arrives before the buffer runs out. Nobody at the campsite needs to do this sum by hand; the point is to know what the tool is doing, so you can see when its answer is wrong. Setting reorder points in detail, including minimum order quantities, is covered in using AI to set reorder points.

What the AI adds beyond a spreadsheet

For a business with 20 products, a spreadsheet with FORECAST.ETS and a reorder column may be all you need. Dedicated forecasting tools and AI add value in four specific ways:

  • Scale: forecasting hundreds of products weekly without anyone touching a formula.
  • Drivers: learning how weather, bookings, promotions or events move each product, rather than you adjusting by hand.
  • Awkward demand: products that sell rarely and in lumps, where ordinary methods produce nonsense such as "0.3 bottles a week".
  • Explanations: language models that answer "why is it suggesting 14 cases?" in plain words, which helps you catch bad suggestions.

What AI doesn't add is knowledge you haven't given it. It won't know that a supplier is closing for two weeks in August, that you've dropped a product, or that a big group booked yesterday. Those still come from you.

A campsite shop through one season

An illustrative campsite with 140 pitches runs a small shop with about 120 product lines: milk, bread, ice, gas bottles, firewood, barbecue fuel, basic groceries and camping spares. Last season it ran out of ice, milk or gas on 14 days, and threw away a lot of milk and bread in wet weeks.

The owner worked through five steps before the season:

  1. Exported two seasons of daily sales by product from the till system, and the nightly pitch occupancy from the booking system.
  2. Marked every sell-out by finding days when stock hit zero before closing. There were 31 product-days, mostly ice, milk and gas.
  3. Grouped products into regular sellers (milk, bread), weather-driven (ice, firewood, barbecue fuel), occupancy-driven (gas, basic groceries) and occasional (tent pegs, spare poles).
  4. Forecast each group differently: regular sellers from recent weekly sales; weather-driven products from sales plus the week's weather forecast; occupancy-driven products per occupied pitch; occasional ones on simple minimum and maximum levels.
  5. Set reorder points for each product using its supplier's lead time, then reviewed them every Monday with the week's bookings.

By the end of the season, sell-out days had fallen from 14 to 4, and milk thrown away had roughly halved, mostly because milk orders now followed occupancy instead of last week's sales. Those figures are illustrative, but the pattern is typical: the gain comes from treating different kinds of product differently, not from one clever model applied to everything.

The stockout trap: when sales understate demand

Here's how the trap showed up at the campsite. On three hot weekends, the shop sold 40 bags of ice, its entire stock, and the till recorded 40. A forecast built on those figures concluded that hot weekends sell 40 bags. But the ice was gone by 1pm each time. On hot days when it didn't sell out, roughly half the day's ice sold after 1pm. So real demand on those weekends was nearer 80 bags, and a forecast of 40 would have made the same mistake every hot weekend, indefinitely.

The fix is to mark sell-outs in the history and either leave those days out or estimate what demand would have been. Better tools do this automatically if you give them stock levels as well as sales. If your tool only sees sales, it can't know. More ways forecasts go wrong are collected in why AI stock forecasts go wrong.

Forecast from bookings when you have them

Hospitality businesses have an advantage shops don't: they know in advance how many people are coming. For many items, bookings predict demand far better than last month's sales.

A guest house's breakfast. Last month the illustrative six-room guest house bought 290 eggs across 181 guest-nights, which is 1.6 eggs per guest-night. Next week has 58 guest-nights booked, so it needs about 93 eggs, plus a 10% buffer for late bookings: roughly 102. The same per-guest-night rate works for bacon, bread, milk and juice. Past sales would have ordered for last week's occupancy, which might have been half as busy. Restaurants do the same with covers; see forecasting covers to cut food waste.

A holiday-let manager's consumables. Each changeover uses a fixed kit: say 6 toilet rolls, 4 dishwasher tablets and a welcome pack. Next quarter has 212 changeovers booked, and last year about 15% more were booked at short notice, so plan for about 244. That's 1,464 toilet rolls, or 31 cases of 48. The forecast here is a multiplication, not a model, and it's more accurate than any sales-based forecast could be.

Events and spikes at a members' club bar

Averages hide spikes. Suppose a members' club bar sells about 3 kegs of lager on a normal Saturday and about 5.5 when there's a big match or a function. A forecast that averaged all Saturdays suggested 3.4 kegs every week, which over-ordered most Saturdays and ran dry on the busy ones.

The fix was an events column in the sales history: "big match", "function", "quiz night", "none". With that column, the forecast learned separate levels for each, and the steward added the coming month's events from the diary every Monday. The before-and-after for one month (illustrative):

SaturdayEventOld forecastNew forecastActual
1stNone3.43.02.8
8thBig match3.45.55.8
15thNone3.43.03.1
22ndFunction3.45.04.6

The new forecast still missed by a few tenths, which is fine, because the reorder point's safety stock covers that. What it no longer did was miss by 2.4 kegs on the busiest day of the month.

Slow movers: where forecasting gives up

Some products sell too rarely to forecast. Take a boutique hotel whose wine list, in this invented example, has 60 wines, and most sell between zero and two bottles a week, with no pattern. A forecasting tool will say "0.6 bottles a week", which is useless for ordering by the case.

For these, simple minimum and maximum levels work better: reorder when stock reaches 3 bottles, and top up to 9, or to the case size. Where AI does help is sorting the list. Ask it to classify each product by its sales pattern, and it will separate the house wines (regular, forecastable) from the fine wines (lumpy, set by hand) and flag any that haven't sold at all in six months. Those last ones are a different problem: stock tying up cash, covered in finding dead stock and slow movers.

New products with no history

A product you've never sold has nothing to forecast from, and this is where tools produce their strangest numbers. The practical method is to borrow the history of the closest existing product and scale it down while you learn.

Consider a boutique hotel (a made-up case) that added a locally distilled gin to its bar. Its existing house gin sells about 14 bottles a month. The manager assumed the new one would sell at about half that rate at first, so 7 bottles a month, and set a low reorder point with a weekly review instead of relying on the software's forecast. After six weeks the gin was selling about 10 bottles a month, mostly in gin-and-tonic offers on the terrace, and the manager switched it to normal forecasting with that history.

The same approach suits a campsite adding a new barbecue fuel, or a members' club introducing a guest ale. Mark new products in whatever tool you use, so their early weeks aren't treated as a settled pattern. And expect to set the first order by judgement: it's a decision about how much risk of leftover stock you'll accept, not a forecasting problem.

Doing a first forecast yourself with a chat assistant

Before paying for a tool, you can test the idea on your own data. Export weekly sales by product for the last one to two years, add a column marking sell-out weeks, and upload it to a chat assistant that can run calculations (ChatGPT's data analysis and Claude's analysis features both can). Then:

Attached are weekly unit sales by product for [period], with a column
'sold_out' (Y if the product ran out that week).
Using code, not mental arithmetic:
1. Classify each product as regular, seasonal, lumpy or dead (no sales in 26 weeks).
2. For regular and seasonal products, forecast the next 8 weeks with a method that
   handles seasonality. Exclude sold-out weeks from the history, or treat them as
   at least the recorded sales.
3. Show the method and parameters used for each product.
4. Flag any product whose forecast is more than 30% above or below the same weeks
   last year, with a one-line reason.
Return a table: product | class | next 8 weeks total | same 8 weeks last year | flag.

An illustrative extract from the campsite's output:

ProductClassNext 8 weeksSame weeks last yearFlag
Firewood netSeasonal452418
Ice bagSeasonal310264
Gas bottle refillSeasonal9661+57%: trend in recent weeks
Tent pegs (10)Lumpyn/a9Use min/max

The gas flag needed a person. The "recent trend" was a two-week rush when a nearby shop stopped selling gas, which had since reopened. Forecasting 57% growth would have left the campsite with a stack of unsold bottles. That's the job of the flag column: it points you to the handful of forecasts worth questioning.

If you'd rather stay in Excel, FORECAST.ETS works in desktop Excel (2016 onwards and Microsoft 365) but not in Excel for the web or the mobile apps. The Forecast Sheet button on the Data tab builds the same forecast with a chart.

What to ask an inventory tool before you buy

If you sell on Shopify, note that its Stocky app stopped working on 31 August 2026. Purchase orders now live in Shopify admin, and Shopify says its Sidekick assistant can help forecast demand, identify what needs replenishing and draft purchase orders that respect minimum and maximum limits. For any tool, including Sidekick, check these before trusting its suggestions:

  • Does it know about sell-outs? It should use stock levels, not only sales.
  • Can you enter each supplier's lead time and minimum order or case size?
  • Can it use your own drivers, such as bookings or an events calendar?
  • Does it explain each suggestion in terms you can check?
  • Can it handle lumpy products with min/max rules instead of forcing a forecast?
  • Does it draft orders for approval rather than placing them on its own?

Supplier lead times change, and a forecast built on last year's lead time orders too late. Tracking them alongside prices is covered in AI supplier management.

Judging a forecast: average miss and bias

Every week, record the forecast and the actual for your 10 to 20 most important products. After a month, work out two numbers per product:

  • Average miss: the typical gap between forecast and actual, as a percentage. For steady products, under 20% is usually workable; weather-driven products will be worse.
  • Bias: whether it's usually over or usually under. A forecast that misses by 15% either way is fine; one that is always 15% low will cause steady sell-outs.
Campsite productAverage miss (4 weeks)BiasAction
Milk (2 litre)9%Slightly overNone
Ice bag28%Under on hot daysGive weather more weight
Firewood net18%NoneNone
Bread loaf14%Over at weekendsLower weekend level

Alongside those, count the results that matter to the business: sell-out days, and stock thrown away or marked down. If the forecast's error numbers look good but sell-outs haven't fallen, the problem is usually in the reorder points or the lead times, not in the forecast itself.

Questions about forecasting stock with AI

How much sales history do I need for a forecast?

For products with a yearly season, at least one full year and ideally two, so the software can tell a seasonal peak from a one-off. For steady products, three to six months of weekly sales is enough to start. New products have no history, so forecast them from a similar existing product and review weekly.

Is a spreadsheet forecast good enough?

For a few dozen products, often yes. Excel's FORECAST.ETS function handles trend and seasonality in desktop versions of Excel, and a reorder-point column does the rest. Dedicated tools earn their cost when you have hundreds of products, several locations or suppliers with complicated minimum orders.

Should I let software place orders automatically?

Not at first. Have it draft orders that a person approves for at least a full season, and compare its suggestions with what you would have ordered. Automate only for steady, low-risk lines once its suggestions have proved sensible, and keep perishables and expensive items on manual approval.

How often should the forecast be updated?

Weekly suits most small businesses, since that's how often most reorder. Update sooner when something changes: a supplier's lead time lengthens, a big booking or event lands, or a product suddenly sells much faster or slower than forecast.

Further reads

Sources: Microsoft Support pages for FORECAST.ETS and related forecasting functions; Shopify help guidance on migrating from Stocky to Shopify inventory management.

Want a stock forecast you can actually trust?

On a 1:1 call we'll look at your sales history and supplier lead times, decide which products are worth forecasting, and check whether your current system can do it.

Book a 1:1 call with me