Case study · Vending operator
140 new locations. Not one new route.
A second-generation family vending operator in the Midwest ran 640 machines across 410 locations. In 9 weeks it retrofitted 520 of them with Kava Link, then moved from Kava OS Pro to Autopilot. This vending fleet retrofit case study covers the first year.
- service visits
- −29%service visits
- out-of-stocks
- −44%out-of-stocks
- revenue per machine
- +21%revenue per machine

More locations wanted machines. The trucks were already full.
The operator served 410 locations with 640 machines. Like most route businesses, it learned what a machine needed by driving to it and opening the door. Drivers loaded by experience, visited on a fixed rotation and found stock-outs on arrival. Every new account meant new route hours, and enough new route hours meant another truck and another driver.
Replacing the fleet wasn't on the table. The machines still vended reliably. They just couldn't report anything.
- Inventory known only at the machine, during a visit.
- Fixed visit rotations, whether a machine needed service or not.
- Price changes meant a trip to every machine.
What changed
Retrofit first. Replace nothing.
Kava Link L2 mounts behind the bill validator panel and connects to the machine's MDB bus and DEX port. It draws under 2 W from MDB power, talks over LTE-M or NB-IoT with Wi-Fi fallback, and needs no modification beyond mounting. Median install time is 22 minutes, which is how 520 machines were connected in 9 weeks.
Once the machines could report, Kava OS Pro turned the data into work: item-level forecasts, pick lists pre-kitted in the warehouse, and routes re-sequenced around the machines that actually needed a visit. Autopilot then added Kava Agent to draft that plan overnight for approval.
- Real-time sales and inventory telemetry from every connected machine.
- Remote price changes, with no visit needed.
- Cashless reader passthrough; bring your own processor at no markup.

Connect, plan, then automate
- Weeks 1–9
Connect 520 machines
Technicians fitted Kava Link modules machine by machine, without pulling anything off location. Each machine started reporting sales and inventory as soon as its module came online.
- Kava OS Pro
Plan from data, not habit
Forecasts and par levels replaced the fixed rotation. Pick lists were packed in the warehouse, one tote per machine, and routes were re-sequenced each day around actual need.
- Kava OS Autopilot
Hand the drafting to the agent
After its 14-day learning period, Kava Agent began proposing pick lists, route order and service tickets. Each action type was set to Suggest, Approve or Auto, and the scope widened as the drafts proved reliable.
- End of year one
Grow without a new route
With 29% fewer service visits, the existing routes absorbed 140 new locations. Average revenue per machine rose 21%, and out-of-stocks fell 44%.
Same machines, different mornings
| Before | After | |
|---|---|---|
| Knowing what a machine needs | Drive there and open the door | Live telemetry before the truck leaves |
| Loading the truck | By experience and a general restock list | Pre-kitted totes, one per machine |
| Visit schedule | Fixed rotation | Re-sequenced daily around actual need |
| Price changes | A trip to every machine | Remote, from the console |
| Tomorrow's plan | Built by hand at the end of the day | Drafted by Kava Agent, approved by a person |
We didn't have to rip out a single machine. The fleet just started telling us what it needed.
What we'd tell the next operator
Connect first, optimize second
Forecasts are only as good as the data under them. The first 9 weeks were spent just getting machines to report, and every later gain was built on that.
Fewer visits start in the warehouse
Once totes are packed per machine, drivers stop carrying extra stock "just in case", and the route can skip machines that don't need anything yet.
Give the agent narrow jobs first
Start pick lists on Suggest. Move to Approve when the drafts match what an experienced driver would pack. Auto comes last, inside guardrails you set.
How many of last month's visits were really just questions?
Every time a driver opens a machine to find out what it needs, you've paid for a truck roll to answer a question. Some of those visits find a machine that didn't need anything yet. Pull last month's route logs and count them. That number is capacity you already own, sitting in your trucks, waiting for new locations.
Questions operators ask
Does Kava Link require modifying the machine?
No. It mounts behind the bill validator panel and connects to the existing MDB bus and DEX port, with no modification beyond mounting. It runs on the machine's own MDB power and draws under 2 W.
What happens when a machine loses its connection?
Every 8Kava device buffers 72 hours of transactions offline and syncs when the connection returns. Kava Link uses LTE-M or NB-IoT with Wi-Fi fallback, and an external antenna kit is included for machines in basements and steel-framed buildings.
What would the hardware cost for a fleet this size?
We don't publish client pricing. At list price, Kava Link L2 is $349 per machine, so 520 modules come to $181,480 before software. Kava OS Pro is $39 per device per month, or 15% less with annual billing. The ROI calculator runs the same math on your fleet.
Why move from Pro to Autopilot?
Pro covers forecasting, pre-kitting, dynamic routing and pricing. Autopilot, at $69 per device per month, adds Kava Agent, Vision AI analytics, predictive maintenance and energy, retail media and API access. It makes sense once Pro's plans are trusted and the bottleneck becomes the time spent producing them.
Can we keep our cashless readers and processor?
Yes. Kava Link passes through existing MDB cashless readers, and Kava OS works with your own processor at no markup. If you'd rather switch, Kava Pay runs at interchange-plus 0.35% + $0.05 per transaction.
Where to go next
Count your trucks. Then count the machines that can talk.
Tell us about your fleet: machine count, locations and routes. We'll show you what a retrofit would connect and which visits it could remove.