Operational AI answers questions like “will we run out of stock?”.
Commercial AI answers questions like “is this stock earning its keep and if not, where should it be instead”.
The two questions look similar and produce completely different decisions.
Commercial AI compares gross margin return on inventory investment (GMROII), profit margin, stockout risk, demand trend, sales velocity and days of cover across every location simultaneously.
The Ai calculates and holds one WAC and margin figure that finance and operations both query.
Commercial Ai helps you make decisions based on performance, answering questions like: “how do i maximise revenue across locations A, B and C or Channels X, Y and Z with these Items given their sales performance over the last 90 days?”
It is a step beyond forecasting and replenishment questions that just deal with stock levels and stock outs.
Stok.ly records revenue and cost of goods sold at the same moment: when stock physically leaves the warehouse.
Recognising them together removes the timing mismatch that produces different margin figures in different systems — the reason finance and operations arrive at commercial meetings with two versions of the truth.
Weighted Average Cost (WAC) at the point of despatch becomes cost of goods sold.
It is consistent, statistically smooth, and calculated from actual goods receipt costs rather than a standard cost someone maintains separately.
Total gross margin per SKU per location over 30, 60 or 90 days.
Margin as a percentage of revenue.
The underlying revenue and cost components of every sale.
Percentile distribution across the range.
And the comparison that used to need a day working in Excel: “was this product more profitable in one location than another over the last 90 days?” is now answered immediately by the Ai assistant.
This level of analysis is possible, because of the 40+ financial variables that Stok.ly captures every night, of every item in your product catalogue and maintains for 365 days.
Two stores can hold identical stock of the same product and deserve completely different treatment.
GMROII (Gross Margin Return on Investment) is a retail financial metric that measures your ability to turn inventory into cash by calculating the amount of gross profit earned for every pound invested in inventory – it scales from 0 – 3 with 3 being the highest GMROII.
If one location generates a gross margin return on inventory investment (GMROII) of 2.4 and the other 1.1, the first location with GMROII of 2.4 the more valuable location and should have it’s stock levels protected first.
Allocating replenishment by asking “which store is lowest on stock” actively works against the business if that store is returning lower profit on every item it stocks.
Stok.ly’s AI compares GMROII, stockout risk, demand trend, sales velocity and days of cover across every location simultaneously and ranks allocation priority by commercial return.
The Ai Assistant will just as readily tell you where not to send stock: where GMROII has fallen below 1.0 and demand is decelerating, sending warehouse stock to this store destroys your ROI and ties up capital on underperforming inventory.
A warning can be just as important as a recommendation.
The Ai Assistant provides warnings, recommendations and the logic behind each when you ask it questions like: “if i want to maximise profit across locations X, Y and Z in the next 90 days, where should i send these items?”
What do you like best about Stok.ly – Inventory-Centric Cloud ERP?
“we have been a user for the last 4 years and we cannot think of life without it for our retail business. it makes listing to shopify and other marketplaces easy, keeps inventory accurate online and the POS is easy to use. accurate inventory across all sales channels is the big win for us.”
| GMROII | What it means | Typical action |
|---|---|---|
| Below 1.0 | Stock is tying up more cash than the margin it returns. | Do not replenish. Clear, discount, or transfer to a location where demand exists. |
| 1.0 to 2.0 | Respectable. The stock is earning its keep. | Maintain. Watch demand trend for direction. |
| 2.0 to 3.0 | Genuinely strong performance. | Protect first when stock is constrained. |
| Above 3.0 | Rare. | Understand why — it is either an exceptional line or a data problem worth checking. |
Read the full breakdown on the GMROII-Directed Stock Allocation page.
Rules-based replenishment operates at individual SKU level.
Replenishment example: replenish every child item of one product so that each size holds 300 units at each of three stores, sourcing only from the central warehouse, depleting oldest season’s stock first, grouping by size rather than by individual seasonal SKU, and showing the full workings before creating anything.
The AI identified the parent-child relationships, grouped every variant by size across two seasons, calculated current combined stock per size per store, worked out exactly what each size needed, sourced the older season first and cascaded to the newer one once exhausted, and produced a complete pre-approval table covering every size and every store: current stock by season, combined total, quantity required, available source by season, proposed transfer by season, projected combined position after receipt, and any shortfall. One approval. Transfers created.
See the video below
Read the full breakdown on the Advanced Stock Transfers page.
Forward-looking fulfilment conflict requires the Ai Agent to read the B2B pipeline, current available stock, inbound supply reliability and ecommerce channel fulfilment rules at the same time — which is only possible when all four live in one operational record.
Stok.ly’s AI reads the entire B2B forward order pipeline alongside available stock, inbound purchase orders and your ecommerce channel rules and protects specific customers orders to ensure they are fulfilled.
In this example, the Ai Assistant identified that ecommerce demand was about to threaten wholesale fulfilment for a key customer account, protected the exact quantities of stock that the customer had ordered across four SKUs through a pre-allocation action, flagged an incoming purchase order as unreliable because it’s expected date was already overdue and recommended restricting the inventory available to the ecommerce channel on the affected products to ensure customers were not oversold to.
Note the data-quality reasoning in that sequence: the AI assessed the overdue purchase order date independently and excluded that supply from its calculation. Nobody told it to.
Most businesses discover dead stock at a stock count. By then the cash has been committed for months. Stok.ly pre-computes two complementary signals daily, and the distinction between them is the useful part.
Days since last demand
How long since this SKU actually moved at this location.
Measured on physical stock movement rather than sales, so internal transfers do not distort the signal.
Zero-demand rate over 90 days
What proportion of the last 90 days saw no demand at all.
This separates a genuinely dead line, where the rate approaches 1.0, from one that simply sells in occasional bursts and needs different replenishment treatment rather than clearance.
That distinction matters commercially.
Intermittent demand and dead stock look identical on a slow-mover report but require different responses.
The demand trend ratio compares mean demand over the last 30 days against the last 90.
A product at 1.4 is selling 40% faster than its own recent average — buy more, protect against stockout.
A product at 0.6 is selling 40% slower — review the open purchase orders and ask whether the full quantity is still justified.
Without a live trend signal, both products look the same to a buyer reading last week’s sales report, but they need to be treated differently.
Without this information, your buying will not accurately reflect the demand for your products and you will stock out on high velocity sellers.
The same data runs in the other direction.
For each B2B account, Stok.ly’s AI compares what that customer currently buys against the highest-GMROII products in your range, identifies what they are not buying from that set, calculates the untapped revenue if they did, and ranks accounts by opportunity — with a specific product or range recommendation per account, formatted for a sales team to act on rather than a report to interpret.
The above examples are designed to demonstrate the flexibility and range of the Commercial applications of the Stok.ly Ai Assistant. These are by no means an exhaustive list, they represent just a small sample of the use cases.
What questions would you like answered?
Why not request an online meeting and put the Ai assistant to work answering your complex commercial questions.
Positions below reflect vendor-documented capability as at 27 July 2026.
| Capability | Stok.ly | Cin7 | Brightpearl | Orderwise | Linnworks |
|---|---|---|---|---|---|
| Automated GMROII per SKU per location | Yes | No — ABC segmentation | No — ABC classification | Not documented | No |
| Allocation ranked by commercial return | Yes | Quantity-threshold based | Quantity and class based | Quantity based | No |
| Negative allocation recommendation (“do not replenish here”) | Yes | Not documented | Not documented | Not documented | No |
| Multi-variant combined-target transfer from natural language | Yes | No | No | No | No |
| Forward-looking B2B/B2C channel conflict protection | Yes, by named account | No | No | No | No |
| SKU-level margin per location as a live queryable field | Yes (WAC migration in progress) | Reporting available; not a live per-location field | Reporting available | Reporting available; SQL commonly required | No |
| Dead stock detected without an export | Yes, daily | Manual export and filter | Manual export and filter | Manual export and filter | No |
All of these systems hold cost and revenue data. The difference is not access to data; it is whether the commercial question has been pre-computed into a queryable answer, or whether someone has to build the query. Where a competitor offers ABC classification, it is worth asking what ABC actually optimises for — sales volume and profitability class, not return on the capital tied up in the stock.
GMROII is gross margin return on inventory investment: the gross margin generated for every pound of inventory held. Stok.ly uses it for allocation because stock level alone does not indicate value. Two stores can hold identical stock of the same product where one returns 2.4 and the other 1.1 — the first deserves protection first. Below 1.0, stock is tying up more cash than the margin it returns. Between 1.0 and 2.0 is respectable, 2.0 to 3.0 is strong, and above 3.0 is rare enough to be worth investigating.
Yes. It ranks locations by GMROII, stockout risk, demand trend and days of cover simultaneously, and returns a priority order based on commercial return rather than which location happens to be lowest. It will also explicitly recommend against replenishing a location where doing so would destroy capital.
Yes, and this is a deliberate design decision. Where GMROII has fallen below 1.0 and demand is decelerating, sending warehouse stock to that location destroys capital. The AI flags those cases as negative allocation recommendations rather than simply omitting them from the positive list.
Yes. Describe the outcome in plain language — including a combined target per size across multiple stores, a single permitted source location, and which season to deplete first — and the AI traverses the product hierarchy, groups variants by size across seasons, calculates the full transfer plan, cascades from the older season to the newer one as stock runs out, and shows a complete pre-approval workings table before creating anything. Rules-based replenishment cannot do this because it operates at individual SKU level.
Yes, by name and by quantity. It reads the full B2B forward order pipeline against available stock, inbound purchase orders and your ecommerce channel rules, identifies per SKU where ecommerce demand threatens wholesale fulfilment, protects the specific quantities that account needs, and recommends restricting the ecommerce channel on affected products while releasing surplus elsewhere. The protection happens before the conflict materialises rather than after it.
Yes — both query the same live figure. Revenue and cost of goods sold are recognised at the same moment, when stock physically leaves the warehouse, using weighted average cost at the point of despatch. That removes the timing mismatch that produces two different margin figures in two different systems. Stok.ly’s migration from FIFO to weighted average cost is currently in progress, so margin figures are directionally accurate pending its completion.
Yes. Total gross margin, margin percentage, and the underlying revenue and cost components are available per SKU per location over rolling 30, 60 and 90 day windows, with percentile distribution across the range. The same SKU can be compared across all locations in a single query — a comparison that has traditionally required a custom SQL build or a week of spreadsheet work.
Yes, through two signals computed daily. Days since last demand shows how long a SKU has not moved at a location, measured on physical stock movement so transfers do not distort it. Zero-demand rate over 90 days shows what proportion of days saw no demand at all, which separates genuinely dead stock from lines that sell in occasional bursts and need different replenishment treatment rather than clearance. No stock count and no export required — the position is current every day.
By the zero-demand rate rather than the elapsed time. A product with a zero-demand rate approaching 1.0 over 90 days is genuinely dead. A product with a high but not extreme rate, and a recent movement, is an intermittent seller. Both can show a long gap since last sale, which is why elapsed time alone produces the wrong decision.
By cross-referencing each B2B customer’s order history against the highest-GMROII products in your range, identifying what that customer is not buying from that set, calculating the untapped revenue if they did, and ranking accounts by opportunity with a specific recommendation each. This capability is live in the platform, though a formal demonstration output has not yet been produced in a deal context.
ABC classification groups products by sales performance and profitability class. It does not measure return on the capital tied up in the stock, which is what GMROII measures, and it is calculated per product rather than per product per location. A product can be class A overall and still be destroying capital at a specific store. Positions on competitor capability were checked on 27 July 2026 against vendor documentation.
All our sales, support and development team are located in Hereford and Cheltenham in the U.K. Please submit the contact form and we will contact you within the same business day.