Pricing
How to price 3D prints without working for free
A quote is a cost divided by a margin, divided again by whatever the platform takes. Three lines, one formula. Most sellers get it wrong in the same three places, and each mistake has a price on it.
The formula
| Step | Formula | On the 100 g example |
|---|---|---|
| Cost of one good unit | (material + electricity + machine + labour) ÷ (1 − failure_rate) | $1.99 |
| Price at target margin | unit_cost ÷ (1 − margin) | $2.84 |
| List price including platform fee | price ÷ (1 − platform_fee) | $3.16 at 10% |
| What you keep | list × (1 − platform_fee) × margin | $0.85 |
Margin is a share of the price, not a markup on cost. A 30% markup on $1.99 is $2.59, which is a 23% margin — the same words, 10% less money. The fee step matters just as much: a 10% platform fee taken from a price you set without it leaves you at a 27% margin, not 30%.
Three pricing mistakes, priced
All three use the same 100 g PLA part: $1.50 of filament, $0.11 of electricity, $0.18 of machine time, 10% failures, cost per good unit $1.99.
| Mistake | What you quote | Missing | Shortfall per part |
|---|---|---|---|
| Only counting material | $2.14 | electricity, machine, failures | $0.70 |
| Forgetting the failure rate | $2.27 | the 1.111 prints per sale | $0.57 |
| Forgetting machine hours | $2.30 | 4.8 h of depreciation and wear | $0.55 |
Each row quotes a price that still shows a 30% margin on the arithmetic that was done — which is exactly why the mistake survives. The shortfall column is what you actually lose against a correct quote of $2.84.
What is your time worth?
Machine time is not your time. On this part the machine is occupied for 4.8 hours and costs $0.18; the hands-on work — slicing, setup, support removal, packing — might be five minutes or an hour. That is the only line in the quote where you get to choose the rate, and it is usually the largest.
| Hands-on time | at $15/h | at $25/h | at $40/h |
|---|---|---|---|
| 5 min | $1.25 | $2.08 | $3.33 |
| 15 min | $3.75 | $6.25 | $10.00 |
| 30 min | $7.50 | $12.50 | $20.00 |
| 60 min | $15.00 | $25.00 | $40.00 |
Half an hour at $25/h is $12.50 — 6.3 times the delivered cost of the part, and 7.0 times its material, electricity and machine time. If you do not charge for it, you are not a workshop, you are a donation. The usual compromise is a fixed handling fee per order plus the machine rate, which is easier to explain to a customer than an hourly rate and stops small orders from losing money.
Quote sheet template
A CSV with every input and the two computed columns, so a week of orders is one spreadsheet rather than fourteen browser tabs. Open it in any spreadsheet program; the formulas are described in the column notes. Nothing is uploaded — it is a plain file.
| Column | What goes in it |
|---|---|
| part | Name of the part |
| qty | How many you are delivering |
| material | PLA / PETG / resin — and the brand |
| weight_g | Filament used per part, from the slicer |
| print_hours | Machine time per part |
| price_per_kg | What you actually paid for the spool |
| electricity_per_kwh | Your bill, not a national average |
| power_w | Measured draw while printing |
| machine_per_hour | Depreciation plus maintenance |
| failure_pct | Your measured failure rate |
| labour_minutes | Hands-on time per part |
| labour_rate | What your hour is worth |
| platform_fee_pct | Marketplace or payment fee |
| margin_pct | Target margin |
| cost_per_unit | Computed — do not overwrite with a guess |
| list_price | Computed — this is what you charge |
Check a price
Given a unit cost, a margin and a platform fee, this is the list price that keeps the margin intact.
What to do next
If you do not have the cost side yet, start with what a print costs, then come back. The full calculator with labour fields is on the cost calculator, and the failure rate that sits in the denominator is explained on failure rates.