Teams adopt a stock risk score to stop arguing from gut feel. It only works when everyone knows what went into the number. This guide explains what a stock risk score measures, what it deliberately leaves out, and how purchasing, sales, and finance can run on it without treating it as a black box.
Key takeaways
- A stock risk score answers one question per SKU: how likely is this product to slow down and trap cash if nobody acts?
- Flowra's score runs from 0.00 to 1.00 and blends a slow-mover probability (50%), a velocity rank (30%), and a velocity-trend rank (20%).
- The score is not a stockout signal and not a revenue forecast. Stockout risk is a separate calculation built on days of supply versus lead time.
- Four tiers map to four default actions: monitor, review pricing, discount or transfer, stop purchasing.
- The score earns trust when the weighted components travel with it and overrides are logged and reviewed monthly.
What a stock risk score is for
A distributor with 2,000 active SKUs cannot review every line each week. Buyers look at the products they know, finance looks at the aggregate valuation, and sales looks at what customers asked about yesterday. The long tail, where cash quietly gets trapped, belongs to nobody.
A stock risk score fixes the allocation of attention. Every product gets a single number on the same scale, so a buyer who has 90 minutes on Monday morning opens the list at the top and works down. The number is not the decision. It is the queue.
That is also why the score must be explainable. If a purchasing lead cannot say why product 4821 sits at 0.82 and product 1190 sits at 0.31, the list becomes something to argue with rather than something to act on.
What goes into the score
An inventory risk score for distributors should measure a small number of operational facts that already exist in the ERP or in a transaction export. Flowra's product risk score combines three components, each computed from the sales, purchase, and return history of the SKU.
Slow-mover probability (weight 0.50)
A classifier trained on your own history estimates the probability that this product slows down over the coming weeks. It uses sales velocity, how the velocity has been changing, seasonality features, and restocking behaviour. This is the only component that looks forward, which is why it carries half the weight.
Velocity rank (weight 0.30)
Twelve-week sales velocity, ranked as a percentile against every other product in the catalog. A product in the bottom decile of velocity scores high here. The rank is relative to your own catalog, so a slow line in a fast category is judged against your reality, not an industry average.
Trend rank (weight 0.20)
Four-week velocity compared with twelve-week velocity, again as a percentile. A product whose recent sales run well below its quarterly pace is fading, and the trend component captures that before the twelve-week average moves. The comparison is capped so a single freak week cannot dominate.
The composite is 0.50 × slow-mover probability + 0.30 × velocity rank + 0.20 × trend rank, clipped to the 0.00–1.00 range. Every score ships with the weighted contribution of each component and a plain-English explanation, so a buyer can see that "0.50 × 0.62 + 0.30 × 0.88 + 0.20 × 0.55" is mostly a velocity problem, not a trend problem.
Four tiers, four default actions
A number on its own still needs a policy. Tiers translate the SKU risk score into a default action and a review cadence that purchasing and sales agree on once, rather than re-negotiating every line.
| Tier | Score band | Default action | Review cadence |
|---|---|---|---|
| Low | 0.00 – 0.24 | Monitor. Keep the normal reorder rule. | Monthly review |
| Medium | 0.25 – 0.49 | Review pricing or promotion before the next reorder. | Weekly buyer block |
| High | 0.50 – 0.74 | Discount, bundle, or transfer stock to where it sells. | Weekly, owner named |
| Critical | 0.75 – 1.00 | Stop purchasing. Liquidate or return if cover is above target. | Daily stand-up |
Flowra sets tier boundaries by share of portfolio by default, so the critical band always contains a manageable slice of the catalog. Teams with a fixed working-capital policy can switch to absolute thresholds instead.
What the stock risk score is not
Most misuse of a stock risk score comes from asking it questions it was never built to answer.
- It is not a stockout signal. A product can score low on risk (fast, accelerating) and still run out next week because the supplier is late. Stockout risk is a separate signal that compares days of supply with lead time, described in our guide to stockout risk windows.
- It is not a revenue forecast. The score ranks products by the likelihood of slowing down. It does not predict next quarter's turnover.
- It is not a margin measure. A high-risk line can still be profitable per unit. Margin squeeze is flagged separately so finance can weigh the two.
- It does not replace regulatory rules. Lot tracking, expiry, and compliance holds in pharma or food categories sit outside the score and always win.
Keeping these boundaries explicit is what lets the score become a shared language between operations, finance, and sales instead of another contested chart.
How to run operations on it
Set thresholds with purchasing, not for purchasing
Agree the tier actions in one meeting with the buyers who will execute them. If the critical band produces more lines than the team can handle in a daily stand-up, tighten the band rather than ignoring the list.
Always attach the evidence
The score must travel with its components: cover days, twelve-week velocity, the four-week trend, and the last movement date. A buyer who sees the evidence can override with context ("that line is on a signed contract starting next month") instead of silently ignoring the number.
Log overrides and review them monthly
Overrides are the most valuable data you collect. Repeated overrides on one supplier point to a wrong lead time in master data. Repeated overrides on one category point to a seasonal pattern the model has not seen enough of. Bring the override log to the monthly inventory meeting and fix the root cause.
How Flowra handles this
Flowra computes the product risk score for every SKU on each nightly refresh, or on demand after a new upload. It works from net transaction flow, so it does not need an opening stock count; the stock position it reasons over is a reconstructed trajectory, and Flowra says so. Each score is delivered with its weighted components, its tier, and the default action, and the same number reaches a buyer in Slack or Teams, a sales lead in email, and a director in the Monday digest. Read more about the evidence behind every recommendation, or see how the score is used across FMCG, industrial, and wholesale distribution.
- Fact
- Risk score 0.82 (critical). Twelve-week velocity in the bottom 8% of the catalog. Four-week velocity is 41% below the twelve-week pace. 74 days of reconstructed cover against a 60-day target.
- Forecast
- Slow-mover probability 0.71. At current pace the line reaches 100 days of cover before the open purchase order lands.
- Recommendation
- Cancel the open PO of 300 units and transfer 240 units north, where the same SKU sits at 9 days of cover. Alternative: keep the PO and run a 10% bundle promotion with SKU-2201.
- Hypotheses
- Supplier lead time of 21 days from receipt history. No signed contract demand on this line. Cover target of 60 days for the category.
- Next step
- Approve, adjust the quantity, or ask why. Nothing changes in the ERP until you do.
Frequently asked questions
What is a good stock risk score?
There is no universal "good" value because the score ranks products against your own catalog. What matters is the tier: low and medium scores need monitoring or a pricing review, while high and critical scores need a named owner and an action this week. A healthy catalog keeps the critical band small and moving.
Is a stock risk score the same as stockout risk?
No. The stock risk score estimates how likely a product is to slow down and trap cash. Stockout risk compares days of supply with supplier lead time and flags lines that will run out before the next receipt. A SKU can be low risk on one and critical on the other.
How much history do you need to compute a stock risk score?
Three months of dated sales and purchase lines is enough to produce a first ranked list. Twelve months or more lets the slow-mover model learn seasonality, which sharpens the forward-looking half of the score. Flowra reconstructs stock from transaction flow, so no opening stock count is required.
See it on your own data. Upload a CSV or connect Odoo, WooCommerce or SQL — first stock-risk report in minutes, no credit card.
Get my free inventory report →