bar chart
Ten units split across three stores, made-up numbers
Store targets of 4, 3 and 2. Without a veto, every unit lands somewhere. With the small store full, it gets zero, the other two get one spare unit each, and one unit goes to nobody.
Flow
Cases worth a test before trusting a pooled split
1One store sold out
Its neighbors' sales still earn it a share
2No sales anywhere, nonzero target
A new slot still orders up to target
3No sales, no target
The group stays suppressed
4A store over its target
It gets zero while the others still get shares
5Uneven division
The same inputs give the same split every run
6A zero estimate before a real quantity
The cart reaches the real quantity instead of dropping the row
One of my stores sold none of a product its neighbors were selling every week, and the reorder math decided nobody there wanted it. The way out was to count demand across stores, count shelf space per store, and stop trusting zeros.
A sold-out store looks like a dead product
Some of what I order is a slot on the shelf plan, like "this size from this brand," not one exact item. Every store on the plan has its own copy of that slot. Each copy used to be judged on its own sales and stock.
When a store sells out, it sells nothing, because there's nothing left. The system saw no sales and no stock, called it no demand, and didn't reorder. So the empty store stayed empty.
One decision for the whole group
Now every store sharing a slot is added up together: sales, stock and how fast it sells. The system works out one order for the group and decides once whether to skip it. One store's bad week can't cancel a product the group is selling. A slot in just one store keeps the old math.
Shares by shelf, and the gaps they leave
The group order is split by each store's target, not by its sales. Split by sales and the sold-out store gets the least, which is the bug again. Each share is rounded down, and the spare units go one by one to the stores that lost the biggest fractions. A store already well over its own target gets nothing.
If you build this, know where it comes up short. A full store's share isn't given to anyone else, and each store gets at most one spare unit, so a group with full shelves orders less than its math said. Stock is also pooled, so extra stock in one store shrinks the order for the others, even though, as far as I know, stock doesn't move between my stores. Show those gaps to whoever approves the order. I don't surface them yet.
Shelf space counted at each store
All of that depends on each store's target being right. At first every store was assumed to carry the same number of variants, and some carry fewer. So each store got its own slot count, with the slot's general count as a backup.
Watch the default when you add a column like that. Mine can't be empty and starts at one, so stores that already existed read as one slot until someone sets the real number. The backup only helps stores with no row at all.
Zeros that weren't real
The list of products used as evidence included discontinued ones, hundreds of them, each adding a zero. Now it only takes active products.
The cart had the same flaw with zero estimates.
Now only a number above zero counts as an answer, and a zero moves on to the next source.
Now a zero falls through, which brought back missing items for some suppliers. The catch is that a zero someone picks on purpose gets skipped too. If you can, store why a number is zero next to the number.
A brand-new slot with no history
I briefly made a group with no sales and no stock order nothing. That kills anything new, since a brand-new slot has no sales anywhere. The same day it changed: if the shelf plan gives a group a target, the system orders up to it even with no sales. Full shelves still block more, and a group with no target still orders nothing.
That's a choice, not a proven result. A target nobody revisits will keep reordering a dud for as long as the shelf has room. If you copy this, give every starting target a date when someone has to look at it again. I haven't done that yet.