How to Price 3D Prints: Material, Time, Failure Rate, and Profit

Most new print sellers lose money on their first 20 orders. They price by filament weight alone, forget the hours of machine wear, ignore the 8% of prints that fail, and never pay themselves for post-processing. A 3D print price is a sum of six costs plus a margin. Miss one and your profit disappears.

Quick Takeaways

  • Core formula: Price = (Material + Machine Time + Electricity + Labor) × (1 + Failure Rate) × (1 + Profit Margin) + Fixed Fees.
  • Realistic failure buffer: add 5-15% for FDM, 10-20% for resin.
  • Healthy margin: target 40-100% over total cost for custom work, 30-50% for repeat catalog items.
  • Never skip labor: post-processing and customer service often cost more than the filament.
Cost Factor Typical FDM Value Typical Resin Value
Material $15-$30/kg $30-$60/L
Machine rate $1.00-$3.00/hr $2.00-$5.00/hr
Electricity $0.01-$0.04/hr $0.02-$0.05/hr
Failure buffer 5-15% 10-20%
Labor rate $15-$40/hr $15-$40/hr

Why Weight-Based Pricing Fails

Charging “$0.10 per gram” feels simple. It breaks fast.

A 30 g bracket printing at 0.12 mm layer height may run 9 hours. A 30 g vase in spiral mode at 0.4 mm may finish in 40 minutes. Same weight, a 13x difference in machine time. Weight-only pricing undercharges slow, detailed parts and overcharges fast, chunky ones.

A sound price model accounts for what you actually spend:

  1. Material consumed (including supports and waste)
  2. Machine time (depreciation, maintenance, consumables)
  3. Electricity
  4. Labor (setup, post-processing, packing, communication)
  5. Failure risk
  6. Overhead and platform fees
  7. Profit

Step 1: Calculate Material Cost

Pull the total filament grams from your slicer, including supports, brim, skirt, and purge tower.

Formula: Material Cost = (Spool Price ÷ Spool Weight in g) × Grams Used

A $22 1 kg spool costs $0.022/g. A 120 g part costs $2.64.

Add a waste factor of 3-5% for purge, failed first layers, and the filament stub left on every spool.

Typical Material Costs

Material Price per kg Density (g/cm³) Difficulty Common Use
PLA $16-$25 1.24 Easy Prototypes, decor
PETG $18-$28 1.27 Easy-Medium Functional parts
ABS/ASA $20-$32 1.04-1.07 Hard Automotive, outdoor
TPU 95A $28-$45 1.21 Medium Flexible parts, gaskets
Nylon (PA12) $45-$90 1.01 Hard Gears, wear parts
PA-CF $60-$110 1.10-1.20 Hard Structural parts
Standard Resin $30-$60/L 1.1 Medium Miniatures, detail

Engineering materials need hardened nozzles (0.4 mm hardened steel or ruby-tipped), dry boxes, and enclosures. Price that infrastructure into your rate.

Step 2: Calculate Machine Time Cost

Your printer is a depreciating asset with consumables. Charging only for filament means you pay to use your own equipment.

Formula: Machine Rate = (Printer Cost ÷ Lifespan Hours) + Maintenance per Hour

Example: a $600 printer with a 5,000-hour useful life gives $0.12/hr depreciation. Add nozzles, belts, build plates, lubricants, and repairs at about $0.30/hr. Your base machine rate is roughly $0.42/hr.

Most sellers then add a capacity premium. A printer that runs 24/7 for you blocks other orders. Many shops charge $1.00-$3.00/hr to account for opportunity cost and idle time between jobs.

Machine Rate by Technology

Technology Typical Hourly Rate Notes
Entry FDM (Ender-class) $0.75-$1.50 Needs more tinkering
Mid-range FDM (Bambu/Prusa-class) $1.50-$3.00 Fast, reliable
Large-format FDM $3.00-$8.00 Long jobs, higher risk
Resin MSLA $2.00-$5.00 Add wash/cure costs
SLS (small shop) $8.00-$20.00 Powder refresh matters

Step 3: Add Electricity

Electricity is small but easy to compute.

Formula: Electricity Cost = (Average Watts ÷ 1000) × Hours × Rate per kWh

A printer averaging 120 W over 10 hours at $0.16/kWh uses 1.2 kWh, costing $0.19. Enclosed printers with heated chambers can average 250-400 W. Measure with a plug-in power meter rather than guessing.

Step 4: Price Your Labor

Every job has hands-on time even when the printer runs alone. Track it.

Task Typical Time
File review, slicing, orientation 10-30 min
Printer setup and bed prep 5-10 min
Support removal and cleanup 5-45 min
Sanding, priming, painting 30-240 min
Resin wash and cure 15-30 min
Quality check and packing 10-15 min
Customer communication 10-30 min

At $25/hr, a 40-minute finishing job adds $16.67. Many sellers skip this line, then wonder why a $9 print costs them an evening.

Step 5: Build In the Failure Rate

Prints fail. Spaghetti, warped corners, clogged nozzles, power blips, and layer shifts all consume material and hours.

Measure your own rate: failed prints ÷ total prints over 90 days. Typical numbers:

Scenario Failure Rate
Tuned, enclosed, high-end FDM 2-5%
Standard FDM, mixed jobs 5-10%
Large, long, or engineering-material prints 10-20%
Resin with complex supports 10-20%

Apply it as a multiplier on production cost. At 8% failure, multiply by 1.08. For a 20-hour print, raise it further, because a failure at hour 19 costs far more than one at minute 15. Some shops use a risk tier: +5% under 3 hours, +10% for 3-10 hours, +15% beyond 10 hours.

Step 6: Add Overhead, Fees, and Profit

Overhead covers software licenses, rent share, insurance, filament storage, packaging, and marketing. A simple method is a flat 5-10% overhead on top of costs, or a fixed $2-$5 per order handling fee.

Marketplace fees also matter:

Platform Typical Fee
Etsy ~6.5% transaction + ~3% payment + listing fee
Shopify + Stripe ~2.9% + $0.30 per order
Direct invoice (PayPal/Stripe) ~3%
Local/cash 0%

Then set your profit margin. Profit is what remains after you’ve paid yourself, replaced equipment, and covered risk. It funds growth.

The Complete Pricing Formula

Production Cost = Material + (Print Hours × Machine Rate) + Electricity
Labor Cost      = Labor Hours × Hourly Labor Rate
Subtotal        = (Production Cost × (1 + Failure Rate)) + Labor Cost
With Overhead   = Subtotal × (1 + Overhead %)
Price           = (With Overhead × (1 + Profit Margin)) + Fixed Fees
Final Price     = Price ÷ (1 - Platform Fee %)

Worked Example: Custom PETG Enclosure

Specs: 180 g PETG, 11 print hours, 0.2 mm layers, 15% infill, 45 min of post-processing.

Line Item Calculation Amount
Material 180 g × $0.025 (+4% waste) $4.68
Machine time 11 h × $1.75 $19.25
Electricity 0.12 kW × 11 h × $0.16 $0.21
Production cost $24.14
Failure buffer (10%) × 1.10 $26.55
Labor 0.75 h × $25 + 20 min slicing/comms ($8.33) $27.08
Subtotal $53.63
Overhead (7%) × 1.07 $57.38
Profit (50%) × 1.50 $86.07
Packaging/handling flat $3.00
Platform fee (9.5%) ÷ 0.905 $98.42

Round to $99. Weight-based pricing at $0.10/g would have quoted $18. That is a $70 loss per sale you would never notice.

Pricing Models Compared

Model Best For Pros Cons
Cost-plus (formula above) Custom/one-off jobs Accurate, defensible Ignores market ceiling
Per-gram Quick estimates Fast Misprices slow/fast prints
Per-hour Service bureaus Fair for complexity Hard for customers to predict
Value-based Unique or branded products Highest margins Needs strong positioning
Tiered/volume Batch production Encourages bigger orders Needs batch efficiency

Use cost-plus to set your floor, then check market comparables for your ceiling. If the market price falls below your floor, change the product, speed up production, or skip the job.

Slicer Settings That Change Your Price

Cost rises and falls with settings. Quote with the right ones.

Setting Lower Cost Higher Cost
Layer height 0.28 mm 0.08 mm
Infill 10-15% 50-100%
Walls 2 5+
Supports None/minimal Tree/dense
Print speed 150-250 mm/s (tuned) 40-60 mm/s (quality)
Nozzle 0.6 mm 0.2 mm

Dropping layer height from 0.2 mm to 0.1 mm roughly doubles print time. Charge accordingly, or set a standard quality tier and sell upgrades.

Automate Estimates with Slicer Output

If you run Klipper or OrcaSlicer, pull time and filament data automatically. This Python snippet reads the footer comments from a sliced G-code file:

import re, sys

def parse_gcode(path):
    grams = hours = 0.0
    with open(path, "r", errors="ignore") as f:
        for line in f:
            if "filament used [g]" in line:
                grams = float(re.findall(r"[\d.]+", line)[-1])
            if "estimated printing time (normal mode)" in line:
                h = re.search(r"(\d+)h", line)
                m = re.search(r"(\d+)m", line)
                hours = (int(h.group(1)) if h else 0) + (int(m.group(1)) if m else 0) / 60
    return grams, hours

def price(grams, hours, spool=22, spool_g=1000, machine=1.75,
          watts=120, kwh=0.16, labor_h=0.75, labor_rate=25,
          fail=0.10, overhead=0.07, margin=0.5, fixed=3.0, fee=0.095):
    material = grams * (spool / spool_g) * 1.04
    production = material + hours * machine + (watts / 1000) * hours * kwh
    subtotal = production * (1 + fail) + labor_h * labor_rate
    total = subtotal * (1 + overhead) * (1 + margin) + fixed
    return round(total / (1 - fee), 2)

g, h = parse_gcode(sys.argv[1])
print(f"{g} g | {h:.1f} h | ${price(g, h)}")

Run it with python quote.py part.gcode. Slicer comment wording varies, so check your footer lines and adjust the patterns.

Real-World Pricing Scenarios

Scenario 1: Etsy Miniatures (Resin)

A tabletop gaming seller prints 28 mm miniatures at 0.05 mm layers. Batch printing 12 figures per plate cuts per-unit machine time by about 80%. Hand finishing and priming dominate costs, so labor, not resin, sets the price. Typical retail: $6-$18 each.

Scenario 2: Automotive Replacement Parts (ASA/PA-CF)

A hobbyist sells dashboard clips and interior trim for discontinued models. Material is pricey, tolerances run ±0.15 mm, and a failed print wastes premium filament. Add a 15% failure buffer and charge value-based pricing, since buyers have no alternative supplier.

Scenario 3: Functional Prototypes for Local Businesses

Engineers want fast turnarounds. Charge a rush multiplier of 1.25-1.5x for same-day or next-day jobs and a minimum order of $25-$40 so tiny jobs still cover setup time.

Scenario 4: Batch Production Runs (50+ Units)

Spread setup and slicing labor across the batch. A 20-30% volume discount stays profitable when you print full plates and dial in settings after the first article passes inspection.

Common Pricing Mistakes

  • Ignoring supports and purge waste. Slicers report totals; use them.
  • Pricing from your hobby cost. Business rates include time and risk.
  • Matching the cheapest seller. Low-price competitors are often unprofitable or hobbyists.
  • No minimum order. A $4 order that takes 40 minutes of admin loses money.
  • Forgetting revision rounds. Bill design changes at your labor rate.
  • Never updating rates. Review filament prices, electricity, and failure data quarterly.

Build a Reusable Pricing Spreadsheet

Set up one sheet with these inputs and let formulas do the rest:

Cell Group Inputs
Material Spool price, spool weight, waste %
Machine Printer cost, lifespan hours, maintenance/hr, capacity premium
Energy Average watts, kWh rate
Labor Hourly rate, minutes per task
Business Failure %, overhead %, margin %, platform fee %
Per-job Grams, print hours, labor minutes

Log every job’s actual time and actual grams. After 30 jobs, compare quoted versus real cost and tune your multipliers.

FAQ

How much should I charge per hour for 3D printing?

Most FDM sellers charge $1.50-$3.00 per machine hour on top of material, plus labor for hands-on work. Resin runs $2.00-$5.00/hr. Industrial SLS or large-format work can exceed $10/hr.

What is a good profit margin for 3D printed products?

Aim for 40-100% over total cost on custom work and 30-50% on repeat catalog items. Service bureaus with high equipment costs often target 50%+. Products with a unique design can command higher margins.

How do I account for failed prints in my price?

Track failures over 90 days and divide failed prints by total prints. Multiply your production cost by 1 + that rate. Most shops land between 5% and 15%. Raise the buffer for long prints and difficult materials.

Should I charge by weight or by time?

Charge by both. Weight covers material, time covers machine wear, electricity, and risk. A combined cost-plus formula prices both fast, bulky parts and slow, detailed parts correctly.

Hot this week

How LLMs Are Evaluated: Benchmarks, Arenas, and Why Leaderboards Mislead

Learn how LLM benchmarks, arenas, and evals work, why leaderboards mislead, and how to build your own test harness. Get the framework now.

AI in Healthcare: What’s Working, What’s Hype, and What’s Next

AI in healthcare is working in scribes and imaging, but LLM hallucinations and unproven drugs remain. See the 2026 data and benchmarks. Read the guide.

Bias in AI: How It Happens and What We Can Do About It

Learn how AI bias enters data, models, and prompts, with metrics, Python code, and mitigation steps you can apply today. Start auditing your models.

AI Alignment Explained: Can We Make AI Do What We Mean?

Learn how AI alignment works, from RLHF and DPO to Constitutional AI, with code, comparison tables, and an FAQ. Read the full guide now.

Explainable AI (XAI): Why We Need to Understand Model Decisions

Learn how Explainable AI (XAI) works, from SHAP and LIME to attention maps. Compare methods, see Python code, and build trustworthy models today.

Topics

How LLMs Are Evaluated: Benchmarks, Arenas, and Why Leaderboards Mislead

Learn how LLM benchmarks, arenas, and evals work, why leaderboards mislead, and how to build your own test harness. Get the framework now.

AI in Healthcare: What’s Working, What’s Hype, and What’s Next

AI in healthcare is working in scribes and imaging, but LLM hallucinations and unproven drugs remain. See the 2026 data and benchmarks. Read the guide.

Bias in AI: How It Happens and What We Can Do About It

Learn how AI bias enters data, models, and prompts, with metrics, Python code, and mitigation steps you can apply today. Start auditing your models.

AI Alignment Explained: Can We Make AI Do What We Mean?

Learn how AI alignment works, from RLHF and DPO to Constitutional AI, with code, comparison tables, and an FAQ. Read the full guide now.

Explainable AI (XAI): Why We Need to Understand Model Decisions

Learn how Explainable AI (XAI) works, from SHAP and LIME to attention maps. Compare methods, see Python code, and build trustworthy models today.

MLOps Explained: Taking Models From Notebook to Production

Learn MLOps step by step: pipelines, CI/CD, model serving, and monitoring. Includes code and tool comparisons. Read the guide and ship your model.

Reinforcement Learning Explained: Agents, Rewards, and Policies

Learn how reinforcement learning works: agents, rewards, policies, Q-learning, PPO, and RLHF, with Python code. Start building your first agent.

How AI Image Generators Work: Diffusion Models Explained Simply

This guide breaks down the math, the architecture, and the code, from forward noising to latent-space sampling and classifier-free guidance. Read now.

Related Articles

Popular Categories