Vending Par Level and Restock Interval Calculator

A machine does not empty. Two or three selections empty and the rest sit there most of the way full, and the driver still comes out for all of them. The interval a route runs on is set by whichever column hits its floor first, and every other column is then carrying stock it will not sell before the next visit. This works out which selection is doing the setting, how long each column actually lasts at the rate you measured, and how much of the machine is idle capacity at that interval.

Capacity is what the column holds when it is packed full — count one rather than trusting the planogram. Weekly units come from your own meter reads or telemetry over several weeks, not from one week.
The interval this machine is actually on today, not the one you would like it to be on.
A column that is empty when you get there has been empty for a while. Setting this above zero buys a margin against that.
From your own week-to-week meter reads. Payday weeks, the first week of a term, a shift pattern change.
The drive, the time at the machine and the vehicle, for this machine only. From your own mileage and payroll records.
Door open to door shut, including the count and the paperwork.
Vending Machine Par Level and Restock Interval CalculatorBuildFigure

One column sets the interval

Put the eight selections in the form on a fourteen-day cycle and seven of them are comfortable. The cola column holds 22 and sells 31 a week, which is 4.43 a day, so it reaches its last unit on day 4.7. Everything else is still most of the way full. The driver comes out on day fourteen and finds one empty column, one nearly empty and six that barely needed him.

That is the ordinary state of a snack and drink machine, and it is why an average days-of-supply figure across the machine is useless. Averaged over the eight lines the machine looks like it has a fortnight of cover. It has 4.7 days of cover on the only line anybody was going to buy.

What the other columns are doing meanwhile

At a fourteen-day interval the trail mix line sells six units out of a column of ten. Nine of the ten sit above the floor, so three of them — a third of that column — are stock nobody will reach before the next visit. Sandwich crackers idle two of fourteen. Across the machine at that interval only five reachable units go untouched, which is 4.1 percent, and that low figure is not good news: it is low because six of the eight columns have already run dry.

Run the same machine at the interval the cola actually allows — 4.7 days — and the idle share jumps to 35 percent, because now nothing sells out and every slow column is carrying a fortnight of stock for a five-day gap. That is the trade in one number. Shortening the interval buys back the sellouts and pays for it in idle capital and in visits, and the only thing that fixes both at once is changing which selections get which columns, which is the last block on the page.

The busy week is the one that matters

Cola at 4.43 a day empties its column in 4.7 days. In a week that runs 35 percent hot it empties in 3.5. If the route is on fourteen days, that column has been dead for ten and a half of them and the meter shows nothing, because a machine that is out of stock reports no sales rather than reporting lost ones. The demand is invisible in exactly the data you would use to size the column.

This is the reason the busy-week column exists on the page and the reason the sell rate you feed it should come from several weeks of reads rather than one. A rate measured during a period when the fast column kept running dry is a rate that has already been censored by the sellouts.

Two things this page treats as single numbers have pages of their own. The margin it uses per unit is the vend price less whatever you type as the cost, and what a unit really costs standing in the machine is worked out in the delivered cost per vend calculator. The stock that ages while it waits in a slow column is priced in the date code write-off calculator, which is the other half of what a deep column costs.

Where the money column stops being honest

The interval table prices visits against missed margin and lands on five days for this machine — $6,190 a year against $3,226 at the fourteen days it runs now, after $1,059 of visits instead of $378. Treat that as a comparison between two intervals on one machine, not as a verdict. The visit cost on a real route is shared: the drive out covers four machines in the same building and the fifth stop three miles away is the expensive one. The table has no idea which of those this is. It also ignores the commission the location is owed on the extra sales, the stock that ages in a slow column while it waits, and the fact that a machine seen empty stops being visited by the people who walk past it.

The honest use is narrow and still worth having: it tells you whether the visits you are already paying for are earning their keep at this machine, and it names the one selection that is deciding your schedule. Most routes have never written that name down.

Questions people ask

How do I set a par level for a vending column?

Par is the depth you fill back to, and it is only meaningful next to an interval. Multiply your measured daily rate by the days between visits, add whatever you want left in the column when you arrive, and that is the par. If it comes out above what the column physically holds, the column is too small for the interval and one of the two has to move. The page prints both numbers side by side for every line so you can see which ones do not fit.

Why does averaging days of supply across a machine mislead?

Because the interval is set by the earliest sellout, not by the mean. Eight columns averaging fourteen days of cover can still contain one column with four days of cover, and that one column is the whole schedule. The average also gets better as you add slow selections, which is exactly backwards. Look at the minimum across the lines, and look at it again at your worst observed week rather than your average one.

Is it better to service more often or to fit bigger columns?

They cost different things. Another visit costs the drive and the time every single cycle, forever. A bigger column, or a second column of the same product, costs whatever the displaced selection was earning, once. The page prices the first against missed margin and lists the candidates for the second, but it cannot price what a column change displaces because that depends on the machine you take it from. Run the numbers for both machines before moving anything.

Where should the sell rate come from?

Your own meter reads or telemetry, over enough weeks to see a slow week and a heavy one, and read with an eye to sellouts. A column that ran out on day six reports six days of sales as if they were the whole period, so it looks slower than it is and gets a smaller par next cycle, and then it runs out on day five. That feedback loop is the most common way a fast line ends up permanently undersized.

Related