Skip to main content
Blog Logistics

Cost-to-serve of a pharmacy: the real margin of intermediate pharmaceutical wholesalers in Italy

2026-01-23 Optivo

There’s a seemingly trivial question that gets asked too rarely with the precision it deserves in Italian pharmaceutical intermediate distribution (DIF — Distribuzione Intermedia del Farmaco): how much does it actually cost to serve a single pharmacy? Not on average. Not at the town level. Not at the regional level. That specific pharmacy, in that town, at that number of weekly deliveries, with that average basket.

Most intermediate pharmaceutical wholesalers operate with an approximate aggregated cost-to-serve — euros per pack, euros per shipment, euros per kilometre — but struggle to answer at the single-pharmacy level. Yet that’s precisely where profitability is decided: the difference between a pharmacy producing positive margin and one structurally eroding margin can be just a few euros per delivery, but only a serious calculation makes it visible.

The macro picture has been clear for at least fifteen years. With article 11 paragraph 6 of Decree-Law 78/2010 (converted into Law 122/2010), the margin of pharmaceutical wholesalers was cut by more than 50%, from 6.65% to 3% of the public price net of VAT. For nearly a decade, intermediate distributors performed the essential public service of distributing national health service medicines with a margin insufficient even to recover costs. The 2025 Italian Budget Law partially recognised the problem by introducing an additional 0.65% margin bringing the total to 3.65% — an estimated €70 million of additional resources for the sector, described by ADF and Federfarma Servizi in a joint statement on 9 January 2025 as “the first step of a structural path” that does not completely resolve the historical under-remuneration.

A note for non-Italian readers: this regulated-margin model is specific to the Italian pharmaceutical wholesale system. In most other EU markets, wholesale margin is contractually negotiated rather than statutorily set. The Italian system makes the cost-to-serve question particularly sharp, because the revenue per unit is essentially fixed — so any inefficiency on the cost side eats directly into a thin, regulated margin.

The Polimi Contract Logistics Healthcare Observatory 2025 photographs the consequence on the profit and loss: 47% of Italian intermediate distributors have an EBITDA below 2%, and the segment average is 1.5% — about four points below complete contract logistics profitability. In such a market, pharmacy-by-pharmacy cost-to-serve is not an academic exercise: it’s the difference between holding position and losing ground.

This article addresses three operational questions: what cost-to-serve actually means for an intermediate pharmaceutical wholesaler, how to calculate it step by step, and the three typical scenarios (urban, suburban, rural) we see applied across our DIF clients. At the end of the piece, the pharmacy margin calculator — the free tool we use as a starting point in initial calls with distributors who want to look at the problem with numbers.

What “cost-to-serve” means in DIF

Cost-to-serve is the sum of all direct and indirect costs the distributor sustains to serve a specific customer over a reference time horizon — typically a year. In Italian pharmaceutical intermediate distribution, the customer is the pharmacy (territorial, parapharmacy, hospital) and the annual horizon is the most sensible basis of comparison because it absorbs seasonality (flu peaks, allergies, post-holiday rebound) and neutralizes weekly fluctuations.

Five components must always be counted in a serious cost-to-serve.

Fuel. Calculated on the marginal kilometres the pharmacy adds to the route — not the total kilometres of the route — and on the average consumption of the refrigerated vehicle serving it (12-14 L/100 km is a realistic range for 3.5-tonne isothermal/refrigerated vans in urban capillary distribution). With diesel above €2/L, the fuel cost per marginal kilometre is between €0.24 and €0.28.

Driver cost. The additional time the delivery to that pharmacy absorbs: driving time (marginal km divided by average speed — 25 km/h is realistic in mixed urban context), stop time (3-8 minutes per pharmacy delivery, depending on accessibility, presence of LTZs/restricted zones, counter management). The fully-loaded hourly driver cost in Italian pharmaceutical distribution is €22-28 (Logistics National Collective Agreement 2024 with December 2024 renewal: ~10% tariff increases spread over three years).

Vehicle depreciation and indirect fleet costs. A pro-rata share of van depreciation, maintenance, insurance, vehicle tax, ATP certification (for refrigerated units) attributed to the pharmacy. On the total cost of ownership of a light refrigerated vehicle for Italian DIF, the cost-per-kilometre calculation typically returns €0.12-0.18 per kilometre net of fuel.

Warehouse and administrative costs. Dedicated picking (if the pharmacy has specific SKUs), order preparation, customer administrative management, ASSINDE returns management if relevant, controlled substances management if the pharmacy is authorized. These are costs allocated per delivery or per order line.

Non-quality and financial costs. Non-resaleable returns, late payments (average DSO in Italian DIF is 60-120 days — a working capital cost weighing on margin invisibly), any out-of-window delivery penalties. This is the hardest component to model but it significantly impacts the annual horizon.

Summing the five components yields the annual cost-to-serve of the single pharmacy. Comparing it with the annual gross margin produced by the same pharmacy (average basket × annual deliveries × applicable margin percentage) yields the net margin — the number that, if positive, says “this pharmacy pays for its place in the route” and, if negative, says “this pharmacy erodes the structure”.

The calculation model, step by step

Let’s see the actual calculation on a realistic example. Rural pharmacy in an isolated village, 18 marginal kilometres from the closest depot (round trip: 36 km/delivery), served twice a week, average basket per delivery €230 at 3.65% margin.

Step 1 — Annual fuel cost

marginal km per delivery = 36 km
average consumption = 12 L/100 km
diesel price = €2.05/L
fuel cost per delivery = 36 × 0.12 × 2.05 = €8.86

frequency = 2 deliveries/week × 52 weeks = 104 deliveries/year
annual fuel cost = 8.86 × 104 = €921

Step 2 — Annual driver cost

driving time per delivery = 36 km / 25 km/h × 60 minutes = 86.4 minutes
stop time per delivery = 6 minutes (easy-counter pharmacy)
total time per delivery = 92.4 minutes = 1.54 hours

fully-loaded hourly driver cost = €25/hour
driver cost per delivery = 1.54 × 25 = €38.50
annual driver cost = 38.50 × 104 = €4,004

Step 3 — Fleet and warehouse costs

cost per km net of fuel = €0.15/km (refrigerated vehicle TCO)
fleet cost per delivery = 36 × 0.15 = €5.40
annual fleet cost = 5.40 × 104 = €562

warehouse cost per delivery (picking, administration) = €3.50
annual warehouse cost = 3.50 × 104 = €364

Step 4 — Total annual cost-to-serve

921 + 4,004 + 562 + 364 = €5,851

Step 5 — Annual gross margin of the pharmacy

average basket × frequency × margin
230 × 104 × 0.0365 = €873

The picture is unequivocal. The pharmacy, on an annual full-revenue volume of €23,920, produces €873 of gross margin. The intermediate distributor sustains €5,851 of direct costs to serve it. The net margin is -€4,978 per year.

In other words: this pharmacy erodes almost €5,000 a year of the distributor’s total profitability. On a fleet of 20 vehicles serving 250-300 pharmacies, having just 15-20 pharmacies of this type is enough to push the company below sustainability.

The key point — and we see this systematically in initial calls with distributors approaching cost-to-serve seriously — is not that the distributor is aware of these pharmacies and keeps them for strategic reasons (territorial service, historical relationship, competitive presence). The point is that in many cases they don’t know they have them in portfolio, because profitability is looked at in aggregate and marginal pharmacies get diluted among the profitable ones.

The basket break-even: the sustainability threshold

A natural follow-up question: what is the minimum basket for this pharmacy, at this frequency and at this distance, to break even?

The formula is simple. With annual cost-to-serve at €5,851 and frequency at 104 deliveries/year (and 3.65% margin), the break-even basket is:

break-even basket = annual cost-to-serve / (frequency × margin)
break-even basket = 5,851 / (104 × 0.0365) = €1,541

To break even, this pharmacy should average €1,541 per delivery instead of the current €230. A huge leap, unreachable with its customer base. The concrete alternatives the distributor can evaluate are different:

  • Reduce frequency. From 2 to 1 delivery/week: the break-even basket moves to €3,082 — even more unreachable, but the annual cost halves to €2,926, reducing the loss to €2,317.
  • Increase the basket by selling value-added services: parapharmacy, dermocosmetics, veterinary products, medical devices. On these segments the distributor’s percentage margin can rise to 6-12% (free market, not regulated remuneration).
  • Move the pharmacy to a more efficient route, if geographically possible. A 6 km marginal variation on a route that already includes it cuts fuel and driver cost by 17%.
  • Negotiate different conditions with the pharmacy (frequency, logistics contribution). Realistic negotiation only if the pharmacy has limited alternatives on the territory.
  • Disinvest. The most radical choice, to be made only if there are no strategic territorial-presence reasons.

None of these decisions can be made without the number in hand. And this is exactly the value of cost-to-serve: it makes visible a choice that until that moment was invisible.

The three typical scenarios: urban, suburban, rural

The example in the previous paragraph is one of the three scenarios we see applied across Optivo’s DIF clients. To give a complete picture, the table below shows the typical parameters and the cost-to-serve result in the three most common profiles in Italian pharmaceutical intermediate distribution.

ProfileMarginal km/deliveryFrequency/weekAverage basketAnnual cost-to-serveAnnual gross margin (3.65%)Net margin
Urban — city centre4 km4€480€6,240€3,642-€2,598
Suburban — medium town12 km2€310€4,040€1,177-€2,863
Rural — isolated village36 km2€230€5,851€873-€4,978

Three considerations that emerge from the table and that often surprise distributors on first encounter.

The central urban pharmacy is not automatically profitable. The high number of weekly deliveries (the city-centre pharmacy wants 4-5 deliveries, sometimes twice-daily) inflates driver cost, while the basket is often limited by rotation (small but frequent orders). The gross margin is there but eroded by service cost. The “city centre = premium pharmacy” model is a half-truth: it depends on basket and accessibility.

The suburban pharmacy is the hardest case to intercept. It’s not distant enough to be “obviously unprofitable” like the rural one, but it’s far enough and with a low enough basket to silently erode margin. These are pharmacies that often live in the route for years without anyone questioning them.

The isolated rural one erodes more than it seems. The classic case “two deliveries per week at 36 km” produces a ~€5,000 annual loss. For a distributor with 200 pharmacies served, even just 5% in this category means €50,000 of lost profitability — on a 1.5% sector EBITDA (Polimi 2025), it’s the difference between being above or below the threshold.

The Logital case: applying the model during growth

Among our DIF clients, Logital — a Lombard intermediate distributor — uses the cost-to-serve model paradigmatically during portfolio expansion phases. The typical challenge of a growing intermediate distributor: the opportunity arises to acquire a group of 10-30 new pharmacies (for instance the exit of a regional competitor or an exclusive distribution mandate on a product line) and a decision is needed on whether to accept them, and on what conditions.

The operational approach that works has three steps.

Step 1 — Loading the candidate pharmacies. Geocoding, expected volume (based on outgoing distributor’s history or estimate), required frequency, time windows, any constraints (floor delivery, LTZ access, controlled substances management).

Step 2 — Simulation of insertion in current routes. For each pharmacy, two numbers: the marginal kilometres it adds to the closest route and the additional time per delivery. From there, the projected annual cost-to-serve.

Step 3 — Decision. Three clusters: profitable pharmacies to accept under standard conditions, marginal pharmacies to accept only with special conditions (reduced frequency, agreed minimum basket, logistics contribution), pharmacies to refuse or refer to another wholesaler.

The value of this process is not “refusing pharmacies” — the distributor has every interest in growing — but negotiating with awareness. When the commercial says “this pharmacy enters only at 3 weekly deliveries instead of 5, or with a logistics contribution of €800/year”, the condition is not arbitrary: it’s the number that takes the pharmacy from -€2,000/year to +€200/year. The customer understands it. The negotiation is more solid.

We’ve described it in detail in the pillar on pharmaceutical logistics, which remains the reference on the “optimisation + simulation” model applied to fixed routes of intermediate pharmaceutical distributors.

Common errors in cost-to-serve calculation

When a DIF distributor approaches systematic cost-to-serve for the first time, we see four errors recurring that are worth anticipating.

Confusing total km with marginal km. The kilometre the pharmacy “adds” to the route is only the additional one compared to the route the vehicle would have driven anyway. If the pharmacy is on the main road between two existing clusters, the marginal km can be zero. If it’s 18 km off-track, those are 36 marginal km to go and return. Getting this wrong systematically overestimates the cost-to-serve of “in-line” pharmacies and underestimates that of isolated ones.

Not considering seasonality. A university pharmacy in Bologna has three months of very low volume (June-August) and nine months of high volume. A seasonal pharmacy in a beach resort area has the opposite. The annual average basket can be identical, but the operational profile is very different, and the cost of “keeping the route” in low-volume months is significant.

Forgetting non-quality costs. Non-resaleable returns, temperature disputes, delays triggering pharmacy complaints, extraordinary administrative management. On the most problematic customers, non-quality can add 10-20% to the “technical” cost-to-serve — an overhead often not counted because diluted in aggregate items.

Neglecting working capital. A pharmacy paying at 60 days is structurally different from one paying at 120 days. On annual revenue of €23,000, the difference between 60 and 120 days of DSO is worth €230 a year in financial cost alone at 6% — 25% of the pharmacy’s gross margin. It’s an analysis the CFO knows, but rarely crossed with operational data.

The tool: the Optivo margin calculator

To make the calculation described above immediate, we built a free tool that does exactly what’s needed in the initial phases of analysis: enter a handful of parameters (marginal km, weekly frequency, average basket, diesel price, hourly driver cost) and get in 90 seconds the annual cost-to-serve, gross margin, net margin, break-even basket and sensitivity on alternative frequencies.

Open the Pharmacy Margin Calculator — free, no registration, immediate response.

It’s not a tool that replaces serious operational analysis on real data: for that, three months of POD and telematics loaded into the platform are enough, and the model is personalized on your fleet profile, customer mix and geography. But as a first numerical comparison, the calculator returns an often-illuminating order of magnitude.

KPIs to monitor at steady state

When cost-to-serve becomes a stable operational practice (not just a one-off analysis exercise), it makes sense to track six KPIs at minimum quarterly frequency.

KPIFrequencyTypical DIF target
Average cost-to-serve per deliveryQuarterlyStable or decreasing
% pharmacies with net margin < 0Quarterly< 15% of portfolio
Average basket per deliveryQuarterlyStable or growing
Geographic clusters with drift >10%QuarterlyRecomposition trigger
Fuel cost per deliveryMonthlyStable vs diesel €/L benchmark
Average DSO per geographic clusterMonthly< 90 days (sector target)

On a broader set of fundamental KPIs for every fleet manager we have a dedicated article. For DIF, the specific cost-to-serve KPIs above are added, along with compliance KPIs (GDP compliance, completeness of temperature traceability, average POD return time).

Frequently asked questions

Is cost-to-serve really calculated pharmacy by pharmacy or by cluster?

It always starts pharmacy by pharmacy because it’s the only granularity that allows real operational decisions (frequency negotiation, logistics contribution, break-even threshold). Once calculated individually, it’s aggregated by geographic clusters to identify areas of the route with the largest drift. The “national average” or “regional average” level is of little use for concrete decisions: it smoothes precisely the cases that should be addressed.

How accurate is cost-to-serve calculated this way compared to the accounting figure?

Accuracy depends on input data quality. With marginal km from actual routes (telematics), real stop time (driver app), basket from historical POD and updated fleet parameters, the typical error is 5-10% versus the pharmacy-attributed accounting actuals. Sufficient for operational decisions. For formal reporting uses (e.g. parent-company report) it can be reconciled with the accounting figure in a second pass.

Can I use cost-to-serve for hospitals as well, not just territorial pharmacies?

Yes, but the model needs adapting. Hospitals have tighter time windows, stricter acceptance constraints, a significant share of deliveries in DD (direct distribution) or DPC (distribution on behalf of NHS) with a margin structure different from the standard 3.65%. The logic is the same, the parameters are different.

How often should cost-to-serve be updated?

At steady state, quarterly for the complete portfolio, monthly on geographic clusters with flagged drift. Structural changes (opening of a new depot, loss or acquisition of an important mandate, significant diesel price change) require immediate recalculation.

How does cost-to-serve integrate with the TMS we already use?

Optivo doesn’t replace the daily TMS — the planning of the single route continues running in the system you have. Cost-to-serve is a layer above, for analysis and simulation. We described the integrated functioning on the dedicated page for pharmaceutical distribution.

In summary

Pharmacy-by-pharmacy cost-to-serve is the number that separates real profitability from “presumed” profitability in pharmaceutical intermediate distribution. In a sector with average EBITDA of 1.5% and 47% of operators below the 2% threshold, it’s not an optional exercise — it’s the map that shows where erosion points are and where profitability is solid.

The technical model is simple (five cost components, two margin numbers, one break-even threshold). The difficulty is not in the formula: it’s in having input data of the necessary quality, and in sustaining the discipline of redoing it every quarter.

If you want to see how the model applies to your real portfolio — which pharmacies in your route have negative net margin, where the geographic clusters with the largest drift are, what the three or four high-impact operational decisions are to make in the next 60 days — talk to our team. Three months of POD and telematics data are enough to build the first projection.

Book a free 30-minute demo. We'll show you Optivo with your data.

Find out how much you can save