{
  "slug": "saas-support-cost-per-account",
  "title": "Support Cost Per Account Calculator",
  "heading": "Support Cost Per Account Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/saas-support-cost-per-account",
  "summary": "Find the true cost of servicing an account and which tiers are unprofitable.",
  "description": "Support cost is the quiet variable that decides whether small accounts are worth having. This calculator takes ticket volume per account, average handle time, and loaded agent cost, then adds tooling and escalation to produce a monthly support cost per account and its share of that account's revenue. The output usually reveals a clear line: below some contract size, support consumes more gross margin than the account produces. That line is the strongest argument you'll ever have for a minimum contract value, a self-serve tier, or a deflection investment in documentation.",
  "formula": "Support cost = tickets × handle time × loaded agent rate + escalation cost + tooling per account. Support % of revenue = cost ÷ monthly revenue.",
  "dateModified": "2026-08-25",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=saas-support-cost-per-account",
  "inputs": [
    {
      "id": "tickets",
      "label": "Tickets per account per month",
      "kind": "number",
      "hint": null,
      "default": 3.2,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "handle",
      "label": "Average handle time",
      "kind": "number",
      "hint": null,
      "default": 22,
      "unit": "minutes",
      "min": 1,
      "max": null
    },
    {
      "id": "agentRate",
      "label": "Loaded agent cost",
      "kind": "number",
      "hint": null,
      "default": 38,
      "unit": "$/hr",
      "min": 1,
      "max": null
    },
    {
      "id": "escalationPct",
      "label": "Tickets escalated to engineering",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "engRate",
      "label": "Engineering loaded rate",
      "kind": "number",
      "hint": null,
      "default": 95,
      "unit": "$/hr",
      "min": 1,
      "max": null
    },
    {
      "id": "engTime",
      "label": "Engineering time per escalation",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": "minutes",
      "min": 0,
      "max": null
    },
    {
      "id": "tooling",
      "label": "Support tooling per account",
      "kind": "number",
      "hint": null,
      "default": 1.4,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "revenue",
      "label": "Account monthly revenue",
      "kind": "number",
      "hint": null,
      "default": 240,
      "unit": "$",
      "min": 1,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "total",
      "label": "Monthly support cost per account",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "pctRevenue",
      "label": "Support cost as % of account revenue",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "agentCost",
      "label": "Front-line agent cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "engCost",
      "label": "Engineering escalation cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "annual",
      "label": "Annual support cost per account",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Tickets per account per month: 3.2",
      "Average handle time: 22 minutes",
      "Loaded agent cost: 38 $/hr",
      "Tickets escalated to engineering: 8 %",
      "Engineering loaded rate: 95 $/hr",
      "Engineering time per escalation: 45 minutes",
      "Support tooling per account: 1.4 $/mo",
      "Account monthly revenue: 240 $"
    ],
    "outputs": [
      "Monthly support cost per account: $64.23",
      "Support cost as % of account revenue: 26.8%",
      "Front-line agent cost: $44.59",
      "Engineering escalation cost: $18.24",
      "Annual support cost per account: $770.72"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter tickets per account per month.",
      "Enter average handle time (minutes).",
      "Enter loaded agent cost ($/hr).",
      "Enter tickets escalated to engineering (%).",
      "Enter engineering loaded rate ($/hr).",
      "Enter engineering time per escalation (minutes).",
      "Enter support tooling per account ($/mo).",
      "Enter account monthly revenue ($).",
      "Read your monthly support cost per account 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": {
        "tickets": 1.92,
        "handle": 13,
        "agentRate": 23,
        "escalationPct": 5,
        "engRate": 57,
        "engTime": 25,
        "tooling": 0.84,
        "revenue": 140
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "tickets": 3.2,
        "handle": 22,
        "agentRate": 38,
        "escalationPct": 8,
        "engRate": 95,
        "engTime": 45,
        "tooling": 1.4,
        "revenue": 240
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "tickets": 5.120000000000001,
        "handle": 35,
        "agentRate": 61,
        "escalationPct": 13,
        "engRate": 152,
        "engTime": 70,
        "tooling": 2.2399999999999998,
        "revenue": 380
      }
    }
  ],
  "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": "What share of revenue should support consume?",
      "a": "Roughly 5-10% of revenue is a common healthy band for B2B SaaS support. Above 15% the account is eating a meaningful slice of gross margin, and above 25% it's usually loss-making once hosting and payment fees are added."
    },
    {
      "q": "Why price engineering escalations separately?",
      "a": "Because they're the most expensive minutes in the company and they're distributed very unevenly. A handful of accounts generating most escalations can cost more than several dozen quiet ones combined — averaging hides it."
    },
    {
      "q": "What actually reduces ticket volume?",
      "a": "Fixing the top three recurring ticket reasons in the product beats every deflection tactic. After that, searchable documentation and in-app contextual help typically deflect 20-40% of routine tickets; chatbots deflect less than vendors claim unless the knowledge base behind them is genuinely good."
    },
    {
      "q": "Should I fire unprofitable small accounts?",
      "a": "Migrate them before firing them. A self-serve tier with community support keeps the revenue and the logo while removing the cost, and it converts a loss-making relationship into a small profitable one without the churn hit of a forced exit."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/saas-onboarding-payback",
    "https://www.revenuelab.fyi/toolbox/saas-usage-cost-margin",
    "https://www.revenuelab.fyi/toolbox/saas-churn-cost"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Support Cost Per Account Calculator (https://www.revenuelab.fyi/toolbox/saas-support-cost-per-account)"
}