Catalog/mkt-budget-allocation

Calculators

Marketing budget allocation by weights API

Normalize per-channel weights and split a total budget: amount_i = totalBudget * weight_i / sum(weights), returning each channel's share and dollar amount. Answers 'how should I split my budget across channels','how much goes to search vs social at these weights'.

Price$0.01per request
MethodPOST
Route/v1/calc/mkt-budget-allocation
StatusLive
MIME typeapplication/json
Rate limit120/minute
CacheNo cache
calcmarketingbudgetallocationchannelsweightsplanningspend
API URLhttps://x402.hexl.dev/v1/calc/mkt-budget-allocation
Integration docs
Example request
{
  "totalBudget": 100000,
  "channels": [
    {
      "name": "search",
      "weight": 5
    },
    {
      "name": "social",
      "weight": 3
    },
    {
      "name": "display",
      "weight": 2
    }
  ]
}
Example response
{
  "formula": "amount_i = totalBudget * weight_i / sum(weights)",
  "totalBudget": 100000,
  "allocation": [
    {
      "name": "search",
      "weight": 5,
      "share": 0.5,
      "amount": 50000
    },
    {
      "name": "social",
      "weight": 3,
      "share": 0.3,
      "amount": 30000
    },
    {
      "name": "display",
      "weight": 2,
      "share": 0.2,
      "amount": 20000
    }
  ]
}
Input schema
{
  "type": "object",
  "required": [
    "totalBudget",
    "channels"
  ],
  "properties": {
    "totalBudget": {
      "type": "number",
      "examples": [
        100000
      ]
    },
    "channels": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "weight"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "weight": {
            "type": "number",
            "description": "non-negative relative weight"
          }
        }
      },
      "examples": [
        [
          {
            "name": "search",
            "weight": 5
          },
          {
            "name": "social",
            "weight": 3
          },
          {
            "name": "display",
            "weight": 2
          }
        ]
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}