Українська

Online sales

Online shop unit economics: what is left from one order after delivery, refusals, fees and advertising

The markup on a price list shows what a shop earns on a product. What it earns on an order only becomes visible after delivery, refusals, returns, fees and advertising come off that markup.

Updated 2026-10-11 7 min Figures carry a check date
Illustration generated with AI (OpenAI gpt-image-1) and labelled with IPTC metadata.

The formula for one order

Unit economics answers one question: how much money the shop keeps from one order once every cost tied to that order has been paid. Rent, salaries and the website are not part of it. They do not change if tomorrow brings one more order.

The unit to use is the collected order: one the customer paid for and did not send back. There are always more placed orders than that: some parcels are never picked up, some are returned. The money spent on them is still gone, and it falls on the orders that went all the way through.

Profit on one collected order is built like this:

  1. Markup: the order value minus the cost of goods.
  2. Minus delivery and packaging, if the shop pays for them.
  3. Minus losses on refusals: delivery of parcels nobody picked up.
  4. Minus losses on returns: delivery both ways for goods returned after purchase.
  5. Minus fees for card payments and cash on delivery.
  6. Minus advertising, divided by collected orders.

Items 3, 4 and 6 are the ones most often counted wrong: costs are divided by all placed orders instead of collected ones. That makes the profit per order look larger than it is.

Calculator

The default values are the illustrative example analysed below. Enter your own figures; the calculation runs on 100 placed orders and divides by the ones collected.

Profit on one collected order

Profit per collected orderUAH 184
Share of revenue15.3%
Advertising ceiling per placed orderUAH 369
MarkupUAH 540
Delivery, packaging and declared-value fee−UAH 111
Losses on refusals−UAH 6
Losses on returns−UAH 6
Payment fees−UAH 16
Advertising−UAH 217

All amounts are per collected order. For orders above UAH 500 the calculator adds Nova Poshta's declared-value fee of 0.5% of the order value to delivery; the declared value is taken as equal to the order value. The payment fee on money refunded to a customer is treated as not refunded to the shop; check this in your own contract. Returned goods go back to stock and are sold again.

Where the markup goes: an illustrative example

An illustrative shop: average order UAH 1,200, cost of goods UAH 660, so the markup is UAH 540, or 45% of the order value. Parcels weigh up to 2 kg and travel within Ukraine. Half the orders are paid by card on the website, half by cash on delivery. Advertising costs UAH 200 per placed order.

The rates come from primary sources. Under Nova Poshta's rates, delivering a small parcel up to 2 kg between branches within Ukraine costs UAH 90, and a box with packing costs UAH 15. The declared-value fee is included up to UAH 500; above that, for parcels, it is 0.5% of the declared value, according to the detailed rate sheet. On a UAH 1,200 order that is UAH 6, so one parcel costs the shop UAH 111. The shop pays for delivery itself, and in that case, under the terms of the Return service, a refused parcel up to 30 kg costs nothing beyond that delivery.

Card payments cost 1.3% on the standard rate of LiqPay and plata by mono for Ukrainian cards. Cash on delivery under Nova Poshta's agreement costs 1.3% to an account at another bank or 0.5% to a NovaPay account; the example uses 1.3%.

Refusals are 10% of cash-on-delivery parcels, returns after purchase 3%. These are illustrative shares; take yours from the last three months of data.

Out of 100 placed orders, 5 parcels are not picked up, and 2.85 of the 95 collected are returned. That leaves 92.15 orders to carry all the costs.

What is left of UAH 540 markup per collected order
MarkupUAH 540
Ads−UAH 217
Delivery−UAH 111
Fees−UAH 16
Refusals−UAH 6
Returns−UAH 6
ProfitUAH 184

Illustrative example: order UAH 1,200, cost of goods UAH 660, 50% cash on delivery, 10% refusals, 3% returns, advertising UAH 200 per placed order. Nova Poshta, LiqPay and plata by mono rates checked on 11 October 2026. Amounts rounded to the hryvnia.

Of the UAH 540 markup, UAH 184 is left: 15.3% of the order value. Two things in this breakdown are not obvious.

Advertising is UAH 217, not UAH 200. The shop pays UAH 200 for every placed order, but there are 7.85% fewer collected ones. Every UAH 100 of advertising per placed order becomes UAH 108.5 per collected one.

Refusals cost less than it seems. Six hryvnias per order, because the shop pays for delivery itself and the return is included in the rate. If the customer was supposed to pay for delivery and refused, Nova Poshta's terms put the delivery charge on the sender, and this line grows. The full refusal maths is in the article on cash on delivery.

Why a small order loses money at the same markup

Take the same shop and the same 45% markup, but a UAH 600 order instead of UAH 1,200: cost of goods UAH 330, markup UAH 270. Delivery barely changes: UAH 105 plus UAH 3 of declared-value fee. The ad cost per placed order is left unchanged. That is a condition of the example; if orders for cheaper goods cost you less to win through ads, enter your own figure in the calculator.

The result is minus UAH 75 on every collected order. Same markup percentage, same refusals and returns, but delivery and advertising now eat more than the markup.

Hence a practical rule: delivery and advertising are costs per order, not per hryvnia of revenue. The smaller the order, the larger the share of markup they take. For cheap goods the average order value matters more than the markup percentage: bundles, a minimum order, free delivery above a threshold. How to calculate average order value and what moves it is in the article on average order value.

How much advertising can cost per order

The calculator shows one more number: the advertising ceiling per placed order. It is the amount at which profit per order falls to zero. In the illustrative example it is UAH 369: everything advertising takes above UAH 200 comes out of the UAH 184 profit.

The number is useful in a conversation with a contractor or an ad account. "UAH 300 per order" sounds fine, but in this shop it leaves only UAH 75 per collected order. "UAH 400 per order" means every sale loses money, even while turnover grows.

Two caveats. First, the ceiling ignores fixed costs: rent, salaries, the website. If advertising takes the whole profit per order, nothing is left to pay them. Second, some customers come back without advertising, and a repeat order is cheaper than the first. If you have many repeat purchases, look at the cost of a customer rather than of one order; how to calculate it is in the article on customer acquisition cost.

Our position

Before raising the advertising budget, calculate profit per collected order and the most you can pay advertising for one order. If the current cost per order is already close to that ceiling, growing turnover will not bring profit: first raise the average order value or cut delivery costs and refusals.

The position does not hold for a shop where most revenue comes from repeat purchases. There a first order can be unprofitable on purpose, because the second and third pay for it, and the maths has to be done on a customer over a year, not on one order.

Delivery, packaging and declared-value fees were checked on 11 October 2026 on Nova Poshta's website (rates in force since 10 September 2026), card fees on the LiqPay and plata by mono rate pages, and the cash-on-delivery fee on Nova Poshta's cash-on-delivery agreement page. The calculation is an illustrative example; enter your own refusal and return shares and advertising cost.

Still not sure this applies to you?

Describe the situation. The first reply says whether this is our work and how long the diagnostic takes.

Request a diagnostic