{
  "slug": "agency-margin",
  "title": "Agency Margin Calculator",
  "heading": "Agency Utilization & Margin Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/agency-margin",
  "summary": "Blended margin from headcount, utilization, and bill rate.",
  "description": "Agency profit lives in two numbers: utilization and the gap between bill rate and cost rate. Everything else is noise until those two are healthy.",
  "formula": "Gross margin = (Bill rate − Cost rate) ÷ Bill rate; revenue = Heads × Hours × Utilization × Bill rate.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=agency-margin",
  "inputs": [
    {
      "id": "heads",
      "label": "Billable headcount",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "hours",
      "label": "Available hours per person per month",
      "kind": "number",
      "hint": null,
      "default": 160,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "util",
      "label": "Utilization",
      "kind": "number",
      "hint": null,
      "default": 68,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "bill",
      "label": "Average bill rate",
      "kind": "number",
      "hint": null,
      "default": 145,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "cost",
      "label": "Loaded cost per hour",
      "kind": "number",
      "hint": null,
      "default": 62,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "overhead",
      "label": "Monthly overhead",
      "kind": "number",
      "hint": null,
      "default": 34000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "grossMargin",
      "label": "Gross margin",
      "format": "percent",
      "hint": null,
      "primary": true
    },
    {
      "id": "revenue",
      "label": "Monthly revenue",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "gross",
      "label": "Gross profit",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "net",
      "label": "Net profit after overhead",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "netMargin",
      "label": "Net margin",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "breakevenUtil",
      "label": "Break-even utilization",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Billable headcount: 8",
      "Available hours per person per month: 160",
      "Utilization: 68 %",
      "Average bill rate: 145 $",
      "Loaded cost per hour: 62 $",
      "Monthly overhead: 34000 $"
    ],
    "outputs": [
      "Gross margin: 37.1%",
      "Monthly revenue: $126,208.00",
      "Gross profit: $46,848.00",
      "Net profit after overhead: $12,848.00",
      "Net margin: 10.2%",
      "Break-even utilization: 61.1%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter billable headcount.",
      "Enter available hours per person per month.",
      "Enter utilization (%).",
      "Enter average bill rate ($).",
      "Enter loaded cost per hour ($).",
      "Enter monthly overhead ($).",
      "Read your gross margin 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": {
        "heads": 5,
        "hours": 95,
        "util": 41,
        "bill": 85,
        "cost": 35,
        "overhead": 20000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "heads": 8,
        "hours": 160,
        "util": 68,
        "bill": 145,
        "cost": 60,
        "overhead": 34000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "heads": 13,
        "hours": 255,
        "util": 100,
        "bill": 230,
        "cost": 100,
        "overhead": 54000
      }
    }
  ],
  "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": "How does the agency utilization & margin calculator work?",
      "a": "Agency profit lives in two numbers: utilization and the gap between bill rate and cost rate. Everything else is noise until those two are healthy. The underlying maths is: Gross margin = (Bill rate − Cost rate) ÷ Bill rate; revenue = Heads × Hours × Utilization × Bill rate."
    },
    {
      "q": "What do I need to enter?",
      "a": "6 values: billable headcount, available hours per person per month, utilization, average bill rate, loaded cost per hour, and monthly overhead. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the gross margin result mean?",
      "a": "It is returned as a percentage and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Results are estimates before tax, fees, and inflation unless an input explicitly covers them."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone comparing money scenarios before committing — budgeting a payment, sanity-checking a quote, or seeing what a change in rate or term actually costs."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/retainer-pricing",
    "https://www.revenuelab.fyi/toolbox/freelance-day-rate"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Agency Margin Calculator (https://www.revenuelab.fyi/toolbox/agency-margin)"
}