Every night, Stokk works out a daily sales rate for every active item at every active location. Order suggestions, safety stock and the supplier board all read from that rate.
Stokk runs five models side by side:
Each night, every model's past forecasts are scored against what actually sold over the following 7 days. For each item at each location, Stokk uses the model with the lowest error (WAPE) over the last 120 days. It only switches model when the new one is clearly better, so the choice doesn't flip back and forth.
A model needs a few weeks of scored forecasts before it can be compared. Until then, Stokk picks a starting model from how the item sells: steady sellers get the weighted average, erratic ones the 84-day average, occasional ones the Croston method. Items with under 14 days of history start on the weighted average.
Once per night, in the forecast snapshots cron job. New sales, new items, or item-level overrides made today won't show in the forecast until tomorrow. You can see when it last ran at Admin → System Status.
The same nightly run first makes sure every item has a forecast at every location it belongs to. Any item that has sold at a location in the past year, or is sitting in stock there right now, gets one automatically. That includes brand new items: they pick up a forecast at each location on the first night after they arrive.
A purchase suggestion adds up the daily rate from every location that sells the item. If a location is missing a forecast it contributes nothing, and a fast seller can look like a slow one. If a suggestion looks far too low, open the item and check that every store selling it shows a daily rate.
The Forecast Accuracy report compares each day's forecast against actuals over time. Use it to find SKUs where the model is consistently wrong; those usually need a parameter override or an exclusion.