Fulfillment cost as a percentage of revenue: how to calculate it and what range your ticket can carry
October 18, 2026
There is a question almost no seller can answer from memory, and it explains a good share of the margins that never add up: what percentage of your revenue goes into moving the goods? Not buying them, not advertising them, not the marketplace commission. Only storing, packing, shipping and processing what comes back.
Fulfillment cost as a percentage of revenue is one of those metrics that look like accounting and are actually strategic. Because once you calculate it properly, it stops being a number and becomes a filter: it tells you which products can carry marketplace logistics, which only survive in your own warehouse, and which simply should not be in your catalog at that price.
The reason almost nobody has it is simple: fulfillment cost is scattered across five different places. Part of it arrives in the Amazon settlement, part in the Meli statement, part in the 3PL invoice, part in the payroll of whoever packs, and part — the most forgotten — in the returns that got processed and nobody added up. Assembling that by hand is tedious, so it does not get assembled.
This post builds the full metric, shows how to set your own threshold instead of copying someone else’s benchmark, and explains why average ticket is the variable that governs the whole equation.
what belongs in fulfillment cost and what does not
Before dividing, you need to define the numerator. Fulfillment cost groups everything you pay to move and hold the goods once they are already yours and already in the country. It has five components:
- The per-unit fulfillment fee. In FBA it is what Amazon charges to prepare and ship the unit, calculated by weight and dimensions. In Full it is MercadoLibre’s shipping cost, which depends on the listing price and your reputation. In self-fulfillment or a 3PL it is the sum of pick and pack, materials and the carrier label.
- Storage. Monthly in FBA, daily per unit in Full, per pallet or position in a 3PL, and prorated rent if it is your own warehouse. Aged-inventory surcharges belong here too, and on both marketplaces they grow with the age of the unit.
- Replenishment. What it costs to get the goods into the fulfillment center: the inbound label, the labor to prepare the shipment, the labels, and the reshuffling when you split stock across channels badly.
- Processed returns. Receiving, inspection, returning the unit to sellable inventory, the processing fee where it applies, and the value of the unit that came back unsellable.
- Removals and disposals. Pulling inventory out of a fulfillment center, having it destroyed or relabeled costs money, and it tends to land in the exact quarter you were already tight.
What does not belong? The cost of the product, which is COGS. The marketplace referral commission, which is a selling fee, not a logistics one. Advertising. And international freight plus import expenses, which are the cost of getting the product into your inventory — we covered those in international freight and customs. Mixing them in inflates the number and makes it incomparable across periods.
The boundary matters because the point of the metric is to isolate one decision: the logistics model. Fold commissions and advertising in, and you are no longer measuring that.
the formula and the right period
The formula is straightforward:
Fulfillment cost as % of revenue = (fulfillment fees + storage + replenishment + processed returns + removals) ÷ revenue for the period × 100
Two details change the result. First: revenue goes in net of returns. If you sold $500,000 and $30,000 came back, the denominator is $470,000. Using gross sales while returns are already subtracted in the numerator gives you an artificially pretty number.
Second: the period has to be long enough. Storage bills monthly, aged-inventory surcharges are quarterly or semiannual, and returns arrive weeks after the sale that caused them. Measuring this weekly produces noise. A month is the reasonable minimum and a quarter is where the real trend shows.
An illustrative example, with invented figures to show the method. In one month you sold $470,000 net. You paid $52,000 in fulfillment fees across FBA and Full, $11,000 in storage, $6,500 in inbound, $8,200 in processed returns and $2,300 for one removal. Total: $80,000, which over $470,000 is 17%.
That 17% is neither good nor bad on its own. It is good or bad depending on your ticket, your gross margin and your category. And that is exactly the problem with benchmarks.
Glossary: real net margin, with everything deducted →what public benchmarks say and why you cannot copy them
Public figures do exist, and they are worth knowing even if they cannot be copied.
The measurements circulating in 2026 — almost all produced by logistics operators, financial consultants and fulfillment platforms in the United States, covering direct-to-consumer businesses and quoted in dollars — tend to place fulfillment cost in a reference range of roughly 10% to 15% of revenue, and several flag 15% as an alarm threshold: crossing it is read as a sign of slow rotation or a badly sized logistics structure. Other, broader measurements that fold in all logistics including outbound shipping go as high as 20% of revenue.
This needs saying plainly: those figures are not from Mexican marketplaces. They come from a market with different tickets, different carrier costs, a different category mix and a business model — D2C, owned store, owned customer — that is not the one a seller on Amazon Mexico or MercadoLibre Mexico operates. A Mexican seller pays fees in pesos, on a typically lower average ticket, in a country where last mile to smaller cities has a different structure. Using the American 15% as a target is as arbitrary as inventing one.
What those benchmarks are genuinely useful for is the shape of the metric: that fulfillment cost is measured against net revenue, that there is a threshold beyond which the problem is rotation rather than rates, and that in most structures it is the second or third largest variable cost after the product itself.
Everything else you have to calculate yourself. The good news is that calculating your own threshold is easier than it sounds.
setting your own threshold from ticket and contribution
The method needs no industry data. It needs three numbers you already have.
Step one: your contribution margin before logistics. Take the selling price, subtract COGS, subtract the marketplace commission. That is what you have left to pay for logistics, advertising, fixed costs and profit. On a product at $1,160 with $480 of COGS and a 15% commission ($174), you are left with $506, or 43.6% of the price.
Step two: split that 43.6% among the destinations competing for it. Say you want 8% of the price for advertising, 10% for prorated fixed costs and 10% of net profit. That adds up to 28%. What is left for logistics is 15.6% of the price, or about $181 per unit.
Step three: compare it against what you actually pay. If your fulfillment cost per unit on that SKU is $140, you have room. If it is $210, that product does not fit your structure: either the price goes up, or COGS comes down, or the logistics model changes, or it leaves the catalog.
That 15.6% is your threshold, not one from a report about another country. And it moves by category: a bulky high-ticket product can tolerate 20% comfortably if gross margin is wide; a low-ticket, thin-margin one blows up at 12%.
Run the exercise across your twenty highest-selling SKUs and you will have a far more useful map than any benchmark. The interesting part almost always sits at the extremes: one or two products taking a third of total logistics cost while contributing little revenue.
why a low ticket makes certain models impossible
This is the part that changes the most decisions, and it is pure arithmetic.
A large share of fulfillment cost is fixed per order, not proportional to price. Packing a box costs the same whether a $200 product or a $2,000 one goes inside. The label depends on weight and zone, not on price. A 3PL’s pick and pack is charged per order. Storage depends on the volume occupied, not on what it is worth.
That means the same absolute cost weighs radically differently depending on ticket. A logistics cost of $120 per order is 6% on a $2,000 ticket and 60% on a $200 one. In the second case no cost structure survives: nothing is left for the product, the commission, the advertising or the profit.
Three practical consequences follow.
A low ticket is not compatible with expensive logistics. A $180 product cannot ride in FBA at a standard-size fee plus storage when the commission already took 15% and COGS another 40%. The arithmetic does not close no matter how much you optimize.
The fix is almost never a lower rate: it is a higher ticket. Selling in packs of three, building bundles, setting a minimum order or moving the product to a multipack changes the denominator and fixes the percentage without negotiating with anyone. A three-pack of $180 items becomes a $540 order with the same packing cost and nearly the same label.
Small, cheap products are the ones that benefit most from marketplace logistics, precisely because per-unit rates for light items tend to beat any label an individual seller can negotiate. It is the mirror image of the bulky product, where the owned model wins. The full picture of that trade-off is in 3PL vs FBA vs Full.
what to do when the percentage spikes
When the number jumps from one month to the next, the reflex is to call the logistics provider and renegotiate. That is almost never where the problem lives. In order of likelihood, check this:
- Rotation. A storage increase almost always means inventory that is not moving, not a rate that went up. If one SKU’s coverage stretched to six months, storage multiplies and drags the whole catalog’s percentage with it.
- Returns. A rate climbing because of a quality or description problem shows up in fulfillment cost before it shows up in margin, because every return pays processing twice.
- Product mix. If you sold more of the bulky SKUs and fewer of the light ones, the percentage rises even though no rate changed. This case is diagnosed per SKU, never in the aggregate.
- Season. November and December raise storage and tighten inbound limits. A high percentage in those months can be normal; the mistake is comparing it against a flat month.
- Reshuffles. Inventory moves between channels, removals and relabeling are one-off costs that distort a single month. They are worth looking at separately.
- Rates. Last on the list, not first. Amazon and MercadoLibre adjust their fulfillment costs regularly, and the current ones should be confirmed in your own account before you conclude anything.
how this looks in iqseller
The obstacle to owning this metric was never the formula: it was assembling the pieces. In the panel they already arrive assembled.
In Profitability, net margin per SKU is built by deducting Amazon settlement commissions and MercadoLibre order fees, FBA and Full fees, shipping, advertising and the VAT and withholding breakdown, on top of the COGS you loaded. The logistics concepts stay separated from the commercial ones, which is exactly what you need to compute this percentage without contaminating it with commissions.
In Inventory you see stock split across FBA, Full and your own warehouse or 3PL, with the valuation of each location. That figure is what explains storage: capital parked in a fulfillment center is the capital generating rent and, as it ages, surcharges.
Forecast contributes sales velocity and coverage by channel, which are the real cause behind almost every jump in the percentage. And Alerts flags when coverage drifts out of range, which is the moment you can still move inventory without paying for an emergency removal.
The Parent → Model → SKU tree is what lets you drop from the aggregate to the specific case: the catalog percentage can look healthy while two slow-moving sizes pay the storage for an entire model.
Glossary: inventory valuation, how much capital is sitting in stock →what to take from all this
Fulfillment cost as a percentage of revenue is a structural metric, not a monthly one. It tells you whether your logistics model is compatible with your catalog and your pricing, and it surfaces in time the SKUs eating a disproportionate share of the logistics budget.
Calculate it with all five components, against revenue net of returns, in monthly or quarterly windows. Set your threshold from your ticket and your contribution, not from a US ecommerce report measuring a different business in a different currency. And when the number does not close, check rotation and returns first, and rates only at the end.
The rule that sums it all up fits in one line: fulfillment cost is not fixed by negotiating, it is fixed by selling faster what is already stored and raising the ticket of what gets shipped.