{
  "slug": "cycle-time-vs-demand",
  "title": "Cycle Time vs. Demand Calculator",
  "heading": "Cycle Time vs. Demand Calculator",
  "category": "other",
  "url": "https://www.revenuelab.fyi/toolbox/cycle-time-vs-demand",
  "summary": "Find out if your process can keep up with orders, and how many stations you need.",
  "description": "This tool compares your actual process cycle time against takt time to tell you whether a single station can meet demand, or how many parallel stations/operators you need to add. It's the practical follow-up to a takt time calculation: knowing the target pace is useless without knowing whether you can hit it. The math divides cycle time by takt time and rounds up — a process that takes 90 seconds against a 40-second takt time needs 3 stations (2.25 rounded up) running in parallel, or a faster machine/process. This is standard line-balancing math used when deciding whether to buy a second machine, add a shift, or redesign a workstation. It also reports the utilization you'd get with your chosen station count, since rounding up always leaves some slack — better to know that slack exists than to be surprised by it on the floor.",
  "formula": "Stations needed = ROUNDUP(Cycle Time ÷ Takt Time). Utilization = (Cycle Time ÷ Takt Time) ÷ Stations Chosen.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=cycle-time-vs-demand",
  "inputs": [
    {
      "id": "cycleSec",
      "label": "Process cycle time",
      "kind": "number",
      "hint": null,
      "default": 95,
      "unit": "sec",
      "min": 0.1,
      "max": null
    },
    {
      "id": "taktSec",
      "label": "Takt time",
      "kind": "number",
      "hint": null,
      "default": 40,
      "unit": "sec",
      "min": 0.1,
      "max": null
    },
    {
      "id": "operatorCost",
      "label": "Cost per station/operator per hour",
      "kind": "number",
      "hint": null,
      "default": 38,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "stations",
      "label": "Stations/operators needed",
      "format": "number",
      "hint": null,
      "primary": true
    },
    {
      "id": "rawStations",
      "label": "Exact ratio (before rounding)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "utilization",
      "label": "Resulting utilization",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "hourlyCost",
      "label": "Combined labor cost per hour",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Process cycle time: 95 sec",
      "Takt time: 40 sec",
      "Cost per station/operator per hour: 38 $"
    ],
    "outputs": [
      "Stations/operators needed: 3",
      "Exact ratio (before rounding): 2.38",
      "Resulting utilization: 79.2%",
      "Combined labor cost per hour: $114.00"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter process cycle time (sec).",
      "Enter takt time (sec).",
      "Enter cost per station/operator per hour ($).",
      "Read your stations/operators needed 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": {
        "cycleSec": 57,
        "taktSec": 24,
        "operatorCost": 23
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "cycleSec": 95,
        "taktSec": 40,
        "operatorCost": 38
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "cycleSec": 152,
        "taktSec": 64,
        "operatorCost": 61
      }
    }
  ],
  "limitations": [
    "Estimates assume standard, average conditions — local rules, pricing, and materials vary.",
    "Results are rounded for readability; add a buffer before ordering, booking, or committing.",
    "Double-check anything with a real cost attached against a local quote."
  ],
  "faq": [
    {
      "q": "Why round up instead of down?",
      "a": "Rounding down means the line physically cannot meet takt time — you'd fall behind every cycle and the shortfall compounds over a shift. Always round up to the next whole station, then look for ways to shave cycle time to improve utilization on those stations."
    },
    {
      "q": "What if utilization comes out low, like 60%?",
      "a": "That's the cost of rounding up — with 2.25 stations needed you round to 3, and 2.25/3 = 75% utilization at best. Low utilization signals you should look at combining tasks, running a mixed-model line, or accepting the slack as buffer capacity for demand spikes."
    },
    {
      "q": "Can this replace a full line balance study?",
      "a": "No — this gives you the headcount/station math for one bottleneck operation. A full line balance also sequences tasks across stations to equalize workload station-to-station, which this tool doesn't do. Use this as the first-pass sizing check before that deeper work."
    },
    {
      "q": "How often should I re-run this?",
      "a": "Any time takt time changes (new demand) or cycle time changes (new tooling, different operator, process improvement). It's a quick five-minute sanity check worth doing before committing capital to a new station."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/takt-time-calculator",
    "https://www.revenuelab.fyi/toolbox/capacity-vs-shifts",
    "https://www.revenuelab.fyi/toolbox/oee-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Cycle Time vs. Demand Calculator (https://www.revenuelab.fyi/toolbox/cycle-time-vs-demand)"
}