Pricing from cost: markup or profit margin?

6 min read
Pricing from cost: markup or profit margin?

"Bought at 6 USD, selling at 9 USD — 50% profit." You hear this at every market stall and shop, and it's the reason many shop owners think they earn more than they really do. A 3 USD profit on a 9 USD sale is only 33%, before counting the truck that brought the goods, the damaged items you had to throw away, or the end-of-month sale. Once rent and wages are paid, what's left is much thinner than the "50%" in your head.

This article walks you through pricing from cost step by step: the two ways of measuring profit, getting your unit cost right, choosing a margin that keeps the shop alive, rounding prices in USD and Riel, and knowing when to reprice.

Markup and margin are different numbers

Two ways of saying "what percent profit" often get mixed up:

  • Markup = profit ÷ cost. Buy at 6 USD, sell at 9 USD → 3 USD profit → markup 3 ÷ 6 = 50%.
  • Profit margin (gross margin) = profit ÷ selling price. Same item: 3 ÷ 9 = 33.3%.

Same 3 USD profit, two very different numbers. Sales reports — including the ones in 5 Numbers Every Shop Owner Should Check Daily — use margin, because it tells you how much of each 1 USD of sales is left after cost of goods. So set your target as a margin and work backwards to the price:

Selling price = Cost ÷ (1 − Target margin)

For a 40% margin on a 6 USD item: 6 ÷ 0.6 = 10 USD. Check: 4 USD profit ÷ 10 USD price = 40%.

Quick conversion for an item that costs 6 USD:

Target marginEquivalent markupSelling price
20%25%7.50 USD
25%33.3%8.00 USD
30%42.9%8.57 USD
40%66.7%10.00 USD
50%100%12.00 USD

A 50% margin means selling at double the cost — not cost plus 50%.

The discount trap

The mix-up is most dangerous when you run a sale. An item bought at 6 USD and sold at 9 USD ("50% profit") goes on 30% off — many owners assume there's still 20% left. In reality: 9 × 0.7 = 6.30 USD, a profit of just 0.30 USD per item, a margin of about 4.8%. Selling 100 units during the promotion earns 30 USD — not even enough for that month's electricity bill.

Before discounting, work out the profit left per item in dollars, not by subtracting percentages.

What is your real cost?

Cost is more than the price on the supplier's invoice. Say a clothing shop in Phnom Penh imports 120 T-shirts from Bangkok at 5 USD each:

  • Goods: 120 × 5 = 600 USD
  • Truck and shipping to the shop: 60 USD
  • 10 shirts with bad stitching that can't be sold

Real cost per sellable shirt = (600 + 60) ÷ 110 = 6.00 USD, not 5 USD.

Pricing from 5 USD with a "50% markup" gives 7.50 USD and an assumed profit of 2.50 USD per shirt. The real profit is 1.50 USD — a 20% margin. Pricing from the real 6 USD cost at a 40% margin gives 10 USD.

Costs that are often forgotten:

  • Shipping, handling, import duties (if you import yourself).
  • Defective, expired, or display-damaged items.
  • Bags, boxes and wrapping for each item.
  • Delivery fees, if you offer free delivery on online orders.

You don't need every cent — just spread these costs across the batch as in the example, and your unit cost becomes far more realistic.

Choosing a margin that keeps the shop alive

How much margin is "enough" depends on each shop's fixed costs and sales. A simple way to work it out:

  1. Add up monthly fixed costs: rent 600 USD + wages 900 USD = 1,500 USD, about 50 USD a day.
  2. Estimate average daily sales: 200 USD.
  3. Minimum margin to break even: 50 ÷ 200 = 25%. Below that, the shop is losing money even when it's busy.
  4. Want 30 USD a day left for yourself after all costs? You need 80 USD gross profit on 200 USD sales → a 40% margin.

Not every item needs the same margin. Fast-moving essentials (water, instant noodles) usually carry low margins because customers compare prices; items with few competitors, accessories and fashion pieces can carry more. What matters is that the shop-wide average reaches the level you calculated.

Finally, compare with the market. If similar shirts sell for 8 USD at the market and your cost is 6 USD, your margin is only 25% — time to renegotiate with the supplier, order bigger batches to cut shipping per shirt, or choose a different design rather than forcing it.

Rounding prices in USD and Riel

Calculated prices are rarely nice numbers. The rule: round up, or round down only if you stay above your minimum margin.

Higher-priced items sold in USD: 6 USD cost at a 30% margin gives 8.57 USD.

  • Sell at 8.50 USD → 29.4% margin, close to target.
  • Sell at 9.00 USD → 33.3% margin, and easier change.

Low-priced items sold in Riel: 0.30 USD cost, or 1,200 Riel (at 4,000). A 30% margin gives 0.43 USD, about 1,714 Riel — nobody puts that on a price tag.

  • Sell at 1,500 Riel → 20% margin: 300 Riel profit per item, below target.
  • Sell at 2,000 Riel → 40% margin: if customers accept it, this is the better choice.

On items costing a few thousand Riel, one 500-Riel rounding step can move your margin by 20 percentage points — look carefully. If you list prices in USD but customers pay in Riel, the real price also depends on your exchange rate (4,000 or 4,100); for setting the rate and rounding change, see Selling in USD and Riel without end-of-day cash gaps.

When suppliers raise their prices

Purchase prices change all the time, but selling prices often "forget" to follow. Back to the T-shirts:

  • 40 shirts left in stock at 6.00 USD cost; a new batch of 60 arrives at 6.50 USD.
  • Average cost: (40 × 6.00 + 60 × 6.50) ÷ 100 = (240 + 390) ÷ 100 = 6.30 USD.
  • Still selling at 10 USD: the margin drops from 40% to 37%. Once the old stock is gone, cost is 6.50 USD → 35% margin.

You don't need to reprice after every delivery, but set a floor (say 35%). When an item's margin falls below it: raise the price (keeping 40% on a 6.50 USD cost → 6.50 ÷ 0.6 = 10.83 USD, rounded to 10.90 or 11 USD), find another supplier, or deliberately accept a low margin on a product that brings customers in. The easiest moment to raise a price is when the new batch hits the shelf — not months later, after the losses.

Summary

StepWhat to do
1Work out real cost: goods + shipping + losses, divided by units you can sell
2Set a minimum margin from fixed costs ÷ expected sales
3Selling price = cost ÷ (1 − target margin)
4Compare with market prices; round USD/Riel without falling below your minimum
5Before discounting: calculate the profit left per item
6With each new batch: check the cost and reprice when margin drops below your floor

Tracking cost and margin in LeangPos

On paper, step 6 is the hardest: remembering each item's cost after many deliveries. In LeangPos, each product variant (size, color…) has its own cost price and selling price — see Managing products. When you receive goods on a purchase order at a new unit cost, the cost is recalculated as an average of the stock already on hand and the new arrivals, just like the 6.30 USD example above. The Revenue report shows cost, gross profit and margin day by day, so you see as soon as margins start to slip.

To know exactly how much each item is earning, you can try LeangPos for free.

Run your shop more easily with LeangPos

Try it free for 3 months: point of sale, inventory, multiple branches and an online store in one app.