New to Veterinary Inventory Management? Start Here
The numbers that run a veterinary inventory, explained from scratch: average daily use, lead time, safety stock, reorder point and order quantity, plus the three habits to start this week.
Most people who run inventory at a veterinary practice did not apply for the job. You were good at something else, the person who used to order left, and now there is a spreadsheet with your name on it and a rep asking what you want this week.
Nobody sits you down and explains the numbers. So you learn the way everyone learns: you run out of something important on a Saturday, and after that you order a little heavier. Then the shelf gets crowded and cash gets tight, so you pull back. Then you run out again.
That cycle is not a discipline problem. It is what happens when the ordering decision is made from memory instead of from arithmetic. This is the arithmetic.
You do not need a math background
There are four numbers, and each one answers a plain question. If you can work out an average, you can follow every calculation on this page. The formulas exist so the answer stops depending on who is working that day.
The two decisions, and the four numbers behind them
Every ordering decision is really two questions:
- When do I order this? That answer is the reorder point (ROP).
- How much do I bring in? That answer is the economic order quantity (EOQ).
Everything else exists to make those two numbers honest. To get there you need average daily use, your lead time, and your safety stock.
Number 1: average daily use
This is the foundation, and it is the one most often calculated wrong.
Pull a full twelve months of sales for an item, add up the units, and divide by 365:
Average daily use = units sold in 12 months ÷ 365
Say you dispensed 540 tablets of an item over the year. That is 540 ÷ 365 = 1.48 tablets a day.
Two things trip people here. First, use units, not dollars. Revenue moves when you reprice; demand does not. Second, use a full year if you can get it. A single month is a snapshot, and if you happen to pick a slow one you will under-order all year.
If you only have three months, use three months
Average the months you actually have, then annualize. Three months at 45 units a month is
45 × 12 = 540 a year, which gives the same daily rate as the full-year figure. What a short
window genuinely costs you is the ability to see seasonality and to measure how much demand
swings month to month, which matters for the next number. Start anyway. It gets sharper every month
you add.
Number 2: lead time, counted honestly
Lead time is the gap between deciding to order and having the item on the shelf. Most people count only the shipping days. That understates it, sometimes badly.
The number that matters is how long you are exposed before more stock can arrive. That includes how often you actually place orders. If your distributor delivers in two days but you only sit down to order on Mondays, an item that drops low on Tuesday waits six days before anyone even looks at it. Your real exposure is closer to eight days than two.
Lead time = ordering interval + supplier delivery days
This is why a practice that orders twice a week can safely hold less stock than one that orders every other Friday, using the exact same distributor. Ordering more often is one of the few genuinely free ways to reduce how much cash sits on your shelves.
Number 3: safety stock
Average daily use tells you what a normal stretch looks like. Safety stock covers the stretches that are not normal: the parvo litter, the month a technician recommends a product to everyone, the backorder.
Three inputs go into it.
Your month-to-month variation. Take the same twelve monthly numbers and calculate the standard deviation, which is a measure of how much a typical month differs from your average month. Two items can both average 45 a month, where one runs 44, 45, 46 and the other runs 12, 80, 43. The steady one barely needs a buffer. The jumpy one needs a real one. The average alone cannot tell them apart, which is exactly why the calculation uses variation rather than just the mean.
Your service level. This is the risk dial: how often are you willing to run out before the next delivery? It converts to a multiplier called a Z score:
| Service level | Z score | What it means |
|---|---|---|
| 90% | 1.28 | Lean. You will run out sometimes. |
| 95% | 1.65 | Tighter cash, moderate risk. |
| ~96% | 1.80 | Balanced. A sensible default. |
| 97.5% | 1.96 | Conservative. |
| 99% | 2.33 | You almost never run out, and you hold more. |
There is no universally correct setting. A controlled drug or a rabies vaccine earns a higher one than a shampoo you can borrow from the clinic down the road.
Your lead time, scaled properly. Here is the part that is almost always done wrong by hand. Your standard deviation was calculated from monthly buckets, but you are only exposed for the length of your lead time, which is usually days. You cannot just multiply a monthly figure by a fraction of a month, because variability does not accumulate in a straight line. It accumulates with the square root of time.
So you scale the monthly standard deviation by the square root of the fraction of a month your lead
time represents. There are 365 ÷ 12 = 30.4 days in an average month, so:
Safety stock = Z × monthly standard deviation × √(lead time days ÷ 30.4)
Skipping that square root is the single most common hand-calculation error, and it does not fail
quietly. Multiply straight through instead and an eight-day lead time looks like 8 ÷ 30.4 = 0.26
of a month, when the correct scaling is √0.26 = 0.51. You would carry about half the buffer you
actually need, on exactly the items that swing the most.
Putting it together: the reorder point
Reorder point = (average daily use × lead time) + safety stock
In plain terms: cover what you will normally sell while you wait for the order, then add a cushion sized to how unpredictable that item is.
A worked example
An antiemetic tablet, twelve months of dispensing:
40, 35, 50, 45, 38, 42, 60, 55, 41, 39, 44, 51
- Annual total: 540 tablets. Average month: 45.
- Average daily use:
540 ÷ 365 = 1.48tablets a day. - Standard deviation of those twelve months: 7.52.
- Lead time: you order weekly and the distributor takes a day, so 8 days.
- Service level: balanced, Z = 1.80.
Lead time demand = 1.48 × 8 = 11.8
Safety stock = 1.80 × 7.52 × √(8 ÷ 30.4)
= 1.80 × 7.52 × 0.513 = 6.9
Reorder point = 11.8 + 6.9 = 19 tablets
When the shelf hits 19, you order. Not because it feels low, but because 19 is what covers you until more arrives, at the risk level you chose.
Notice the buffer is 6.9 tablets, not 30. Guesswork on an item like this usually lands far higher, and that gap, repeated across a few hundred items, is where practices quietly bury tens of thousands of dollars.
Number 4: how much to order
The economic order quantity balances two costs that pull against each other. Order in small amounts and you place more orders, pay more shipping, and spend more staff time. Order in huge amounts and you tie up cash, crowd the shelf, and risk expiry.
The classic formula solves for the quantity where those two costs are cheapest together. In real practice, three adjustments matter more than the textbook answer:
- Round to how it actually ships. If the math says 120 capsules and it comes in bottles of 100, you cannot order 120.
- Cap it by days of supply. An enormous "efficient" order of something that moves slowly is just expiry risk with extra steps.
- Move the remainder somewhere useful. If the math wanted 120 and the pack is 100, dropping to 100 loses 20 units of coverage. Adding that 20 to the reorder point instead keeps the protection without breaking the order into an awkward second pack.
That last one has a name worth knowing, because it is the difference between a number that works on paper and one that works at a receiving door.
What StockSolve does with this
Every formula on this page is what the engine runs, per item, across your whole catalog: annualized daily use, month-to-month standard deviation, your chosen service level, lead time scaled by that square root, then pack rounding and the days-of-supply cap.
Doing that by hand for a real catalog is a full day's work, and the arithmetic is the smallest part of it. The day goes to keying in every small and large pack size item by item, working out which items are lumpy enough to need a minimum shelf quantity, and then pulling each of those dispense histories one at a time. The point of the tool is not different math. It is the same math, applied everywhere, and remembered for next month.
Three habits to start this week
The formulas are only as good as what you feed them. These three habits do more for your numbers than any software, and you can start all of them before you calculate anything.
1. Count the top 20 to 30 items often
Roughly 80% of your inventory value sits in about 20% of your items. That is the Pareto principle, and in a veterinary practice it is usually stronger than 80/20.
The practical consequence: a full count of 2,000 items twice a year is exhausting, always late, and mostly spent counting things that do not matter. Counting your top 20 to 30 items weekly or monthly takes a fraction of the time and catches nearly all of the error, because that is where the money is.
Count the same high-value items on a rotation, adjust the discrepancies in your system as you find them, and your on-hand numbers stay trustworthy year round instead of being right for one week each June.
2. Enter purchases the moment they arrive
This is the habit that quietly decides whether any of your numbers mean anything.
Your system decreases stock automatically every time an item is invoiced to a patient. It only increases stock when someone receives the purchase into the system. If invoices go out but purchase orders never get received in, your on-hand figures drift downward forever, and no amount of counting fixes it because the error refills as fast as you correct it.
So the discipline is simple: what goes out through sales has to be matched by what goes in through receiving. Receive against the packing slip, at the price actually charged, on the day it arrives. When those two flows match, your on-hand numbers are real, your cost of goods is real, and a discrepancy actually means something happened rather than that the paperwork slipped.
3. Write the number on the tag
If you already use bin tags or reorder tags, keep them. That system works, it needs no computer, and it survives staff turnover.
The only weak part is the number written on the tag, which almost always came from someone's gut. Replace it with a calculated reorder point and the system you already trust starts producing correct decisions. This is the cheapest upgrade available to you, and it takes an afternoon.
Where to go next
- The reorder point in more depth, including slow movers and lumpy items: reorder points explained.
- The safety stock formula worked step by step, with the standard deviation done by hand: how to calculate safety stock.
- Getting the data out of your system: PIMS export guides.
- Track what you run out of, starting today: the free stockout log.
Written by
Neil Leinen
CVPM, Multi-Site Director of Operations
Neil Leinen is a Certified Veterinary Practice Manager who spent two decades on the practice floor before building StockSolve. He writes about the practical math behind running a calmer, more profitable inventory.
Keep reading
Why StockSolve? Problem by Problem
Every table row here is a real inventory problem and the shipped fix: pack sizes, order quantities that don't overstock you, lumpy demand, messy exports, and the money hiding on your shelf.
The Data-Driven Approach Works. It's Also a Full Day of Your Life.
Data-driven ordering beats gut feel every time. The catch is the workload: spreadsheet math, pack-size hunting, detective work on lumpy items. Here's the fix.