{
  "slug": "marketing-budget-payback-allocator",
  "title": "Marketing Budget Allocation by Payback Calculator",
  "heading": "Marketing Budget Payback Allocator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/marketing-budget-payback-allocator",
  "summary": "Rank channels by CAC payback period and see where the next marketing dollar should go.",
  "description": "When budget is limited, the highest-ROI allocation usually isn't spreading dollars evenly or chasing the lowest CAC in isolation — it's ranking channels by how fast they return cash (payback period) and funding the fastest-payback channels first until they saturate, then moving down the list. This calculator takes up to four channels with their monthly spend, CAC, and monthly gross profit per customer, computes the payback period for each (months to recover the CAC from gross profit), ranks them fastest to slowest, and shows what happens to blended payback if you shift a fixed amount of budget from the slowest-payback channel to the fastest. Fast payback matters disproportionately for cash-constrained businesses, since a channel with a 2-month payback recycles capital into new growth spend six times a year, while a 12-month payback channel ties up cash for a full year before you can reinvest that same dollar, even if its terminal LTV is comparable. Growth-stage companies with ample runway can tolerate slower-payback channels for their higher absolute LTV, but bootstrapped or cash-tight operations should weight payback speed heavily in the allocation decision.",
  "formula": "Payback (months) = CAC ÷ monthly gross profit per customer; blended payback = total budget ÷ Σ(new customers per channel × monthly gross profit).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=marketing-budget-payback-allocator",
  "inputs": [
    {
      "id": "spendA",
      "label": "Channel A monthly spend",
      "kind": "number",
      "hint": null,
      "default": 40000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "cacA",
      "label": "Channel A CAC",
      "kind": "number",
      "hint": null,
      "default": 120,
      "unit": "$",
      "min": 1,
      "max": null
    },
    {
      "id": "spendB",
      "label": "Channel B monthly spend",
      "kind": "number",
      "hint": null,
      "default": 30000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "cacB",
      "label": "Channel B CAC",
      "kind": "number",
      "hint": null,
      "default": 220,
      "unit": "$",
      "min": 1,
      "max": null
    },
    {
      "id": "monthlyGrossProfit",
      "label": "Monthly gross profit per customer (both channels)",
      "kind": "number",
      "hint": null,
      "default": 35,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "shiftAmount",
      "label": "Budget to shift from slower to faster channel",
      "kind": "number",
      "hint": null,
      "default": 10000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "newBlendedPayback",
      "label": "Blended payback after shift",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "blendedPayback",
      "label": "Current blended payback (months)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "paybackA",
      "label": "Channel A payback (months)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "paybackB",
      "label": "Channel B payback (months)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "extraCustomers",
      "label": "Extra customers per month after shift",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Channel A monthly spend: 40000 $",
      "Channel A CAC: 120 $",
      "Channel B monthly spend: 30000 $",
      "Channel B CAC: 220 $",
      "Monthly gross profit per customer (both channels): 35 $",
      "Budget to shift from slower to faster channel: 10000 $"
    ],
    "outputs": [
      "Blended payback after shift: 3.9",
      "Current blended payback (months): 4.3",
      "Channel A payback (months): 3.4",
      "Channel B payback (months): 6.3",
      "Extra customers per month after shift: 37.9"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter channel a monthly spend ($).",
      "Enter channel a cac ($).",
      "Enter channel b monthly spend ($).",
      "Enter channel b cac ($).",
      "Enter monthly gross profit per customer (both channels) ($).",
      "Enter budget to shift from slower to faster channel ($).",
      "Read your blended payback after shift 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": {
        "spendA": 24000,
        "cacA": 70,
        "spendB": 18000,
        "cacB": 130,
        "monthlyGrossProfit": 21,
        "shiftAmount": 6000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "spendA": 40000,
        "cacA": 120,
        "spendB": 30000,
        "cacB": 220,
        "monthlyGrossProfit": 35,
        "shiftAmount": 10000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "spendA": 64000,
        "cacA": 190,
        "spendB": 48000,
        "cacB": 350,
        "monthlyGrossProfit": 56,
        "shiftAmount": 16000
      }
    }
  ],
  "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 prioritize payback speed over total LTV?",
      "a": "For any cash-constrained business, the speed at which you get money back determines how fast you can reinvest and compound growth. A channel with faster payback but similar or slightly lower LTV lets you run more growth cycles per year with the same capital base."
    },
    {
      "q": "When should I ignore payback and chase LTV instead?",
      "a": "When you have ample runway or committed funding and the fast-payback channel is a smaller, saturating pool while the slower-payback channel has far larger scalable volume and comparable or better long-run LTV. Growth-stage companies optimizing for market share often accept slower payback deliberately."
    },
    {
      "q": "What counts as monthly gross profit per customer?",
      "a": "Revenue per customer per month minus cost of goods, fulfillment, and payment processing — before marketing spend. For a one-time-purchase business, spread the total gross profit of the average order across the expected months until repeat purchase or churn."
    },
    {
      "q": "How many channels can I model at once?",
      "a": "This calculator compares two at a time for a clean shift analysis; for a full multi-channel allocation, rank every channel's payback with the same formula and greedily fund from fastest to slowest until you hit total budget or channel saturation."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/paid-vs-blended-cac-decomposition",
    "https://www.revenuelab.fyi/toolbox/webinar-cost-per-sql-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Marketing Budget Allocation by Payback Calculator (https://www.revenuelab.fyi/toolbox/marketing-budget-payback-allocator)"
}