{
  "slug": "parts-gross-profit-matrix",
  "title": "Parts Gross Profit Matrix Calculator",
  "heading": "Parts Gross Profit Matrix Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/parts-gross-profit-matrix",
  "summary": "Find the markup multiplier that hits your target parts margin at any cost tier.",
  "description": "Flat markup percentages break down across a parts price range. A 50% markup on a $4 sensor clip barely covers the counter time to pull and stock it, while the same 50% markup on a $900 catalytic converter prices you out of the job. A matrix approach assigns a different markup multiplier by cost tier so cheap parts carry higher margin percentage (to cover fixed handling cost) and expensive parts carry a lower percentage but still solid dollar margin. This calculator takes your part cost and a cost-tier matrix and returns the sell price, dollar margin, and margin percentage, letting you sanity-check a single part or verify your matrix is producing the blended gross profit percentage your shop needs (most independent shops target 45-55% parts GP blended across all tiers). Use it to build out your matrix in your shop management software, or to spot-check a quote that looks off.",
  "formula": "Sell Price = Cost × Multiplier (multiplier varies by cost tier). GP$ = Sell − Cost. GP% = GP$ ÷ Sell Price.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=parts-gross-profit-matrix",
  "inputs": [
    {
      "id": "cost",
      "label": "Part cost",
      "kind": "number",
      "hint": null,
      "default": 145,
      "unit": "$",
      "min": 0.01,
      "max": null
    },
    {
      "id": "tier",
      "label": "Cost tier multiplier",
      "kind": "select",
      "hint": null,
      "default": "2.0",
      "options": [
        {
          "value": "3.0",
          "label": "Under $20 — 3.0x (67% GP)"
        },
        {
          "value": "2.4",
          "label": "$20–$75 — 2.4x (58% GP)"
        },
        {
          "value": "2.0",
          "label": "$75–$200 — 2.0x (50% GP)"
        },
        {
          "value": "1.7",
          "label": "$200–$500 — 1.7x (41% GP)"
        },
        {
          "value": "1.4",
          "label": "Over $500 — 1.4x (29% GP)"
        }
      ]
    },
    {
      "id": "coreCost",
      "label": "Core charge (if any)",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "sell",
      "label": "Sell price to customer",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "gpDollar",
      "label": "Gross profit dollars",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "gpPct",
      "label": "Gross profit percent",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "markupPct",
      "label": "Markup percent",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Part cost: 145 $",
      "Cost tier multiplier: $75–$200 — 2.0x (50% GP)",
      "Core charge (if any): 0 $"
    ],
    "outputs": [
      "Sell price to customer: $290.00",
      "Gross profit dollars: $145.00",
      "Gross profit percent: 50.0%",
      "Markup percent: 100.0%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter part cost ($).",
      "Enter cost tier multiplier.",
      "Enter core charge (if any) ($).",
      "Read your sell price to customer on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "cost": 87,
        "tier": "2.0",
        "coreCost": 0
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "cost": 145,
        "tier": "2.0",
        "coreCost": 0
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "cost": 232,
        "tier": "2.0",
        "coreCost": 0
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why not just use one markup percentage for everything?",
      "a": "A flat 50% markup gives you $2 on a $4 clip (not worth the labor to look it up and order it) and prices a $1,200 transmission part at $1,800, likely losing the job to a competitor or a customer sourcing it themselves online. A tiered matrix protects margin on small parts and keeps you competitive on big-ticket items."
    },
    {
      "q": "What blended GP% should I target across all repair orders?",
      "a": "45-55% is standard for independent general repair shops. Tire and quick-lube heavy shops often run lower blended parts GP (30-40%) because tires and fluids carry thin margins by nature, offset by volume and labor attach rate."
    },
    {
      "q": "How do core charges affect the math?",
      "a": "Core charges should pass through near cost, not marked up, since you're refunding it back to the customer or vendor. Marking up a core charge inflates your apparent GP% without real profit and can create customer trust issues when they notice the core fee is padded."
    },
    {
      "q": "Should online part price transparency change my matrix?",
      "a": "Yes, especially on parts over $300 where customers cross-shop easily. Many shops flatten the multiplier on higher tiers (1.3-1.5x) specifically because customers price-check big parts, while leaving small-parts margin untouched since nobody price-shops a $6 clip."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/effective-labor-rate",
    "https://www.revenuelab.fyi/toolbox/tire-shop-margin-per-unit"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Parts Gross Profit Matrix Calculator (https://www.revenuelab.fyi/toolbox/parts-gross-profit-matrix)"
}