{
  "status": "ok",
  "verdict": "self_host_needs_throughput",
  "headline": "Estimate. The API is cheaper below 1,384 million tokens a day. Above that, self-hosting wins only if the configuration is busy at least 22% of the time, and only at our higher throughput estimates; at our lowest estimate, even constant use would not pay off.",
  "headline_kind": "busy_at_least_higher_estimates_only",
  "headline_values": {
    "prefix": "estimate",
    "break_even_m": 1384,
    "busy_percent_low": 22
  },
  "confidence": "derived",
  "threshold_m_tokens_per_day": 1384.19,
  "required_tokens_per_second": {
    "at_full_utilization": 16020.7,
    "at_utilization": 32041.4,
    "utilization_percent": 50
  },
  "break_even_utilization_percent": {
    "prudent": 124.8,
    "median": 49.9,
    "optimistic": 21.4
  },
  "utilization_percent": 50,
  "api": {
    "provider": "Alibaba",
    "usd_per_m_tokens": 0.387,
    "checked_at": "2026-10-31T14:56:35.801Z",
    "offers_compared": 26,
    "mix": {
      "source": "default_3_1",
      "input_share_percent": 75
    },
    "basis": "cheapest of 26 current standard offers for a 3:1 input:output mix (blended), promotions, unstable prices, off-peak prices without published hours and unverified prices far below those of the other providers excluded"
  },
  "model": {
    "id": "qwen/qwen3.5-397b-a17b",
    "name": "Qwen: Qwen3.5 397B A17B",
    "params_b": 403.398,
    "kind": "moe",
    "active_params_b": 17,
    "weights_gb": 403.4,
    "quantization": "fp8"
  },
  "configuration": {
    "vendor": "NVIDIA",
    "throughput_evidence": "derived",
    "cheapest_alternative": {
      "gpu_name": "RTX PRO 6000 96GB",
      "gpus": 8,
      "provider": "CoreWeave",
      "usd_per_hour": 20,
      "usd_per_day": 480
    },
    "selection_reason": "Selected over the cheapest configuration (RTX PRO 6000 96GB) because its throughput is derived (an estimate); it costs 11.6% more per hour, within our 25% price tolerance.",
    "gpu_id": "a100-sxm-80gb",
    "gpu_name": "A100 SXM 80GB",
    "gpus_needed": 8,
    "gpus_billed": 8,
    "provider": "Lambda",
    "region": null,
    "tier": "guaranteed",
    "usd_per_gpu_hour": 2.79,
    "usd_per_hour": 22.32,
    "usd_per_day": 535.68,
    "vram_total_gb": 640,
    "weights_share": 0.63,
    "checked_at": "2026-10-31T12:20:51.322Z",
    "source_url": "https://lambda.ai/pricing"
  },
  "weights_margin": {
    "used_percent": 70,
    "default_percent": 70,
    "explanation": "The weights may fill 70% of the GPU memory; the rest is the engine's reserve and the context cache (default 70%)."
  },
  "throughput": {
    "status": "ok",
    "confidence": "derived",
    "method": "same architecture type, scaled by memory bandwidth and active weights (x1.35)",
    "tokens_basis": "output",
    "reference": {
      "model_id": "minimax/minimax-m3",
      "gpu_id": "b200-sxm-180gb",
      "source_url": "https://github.com/SemiAnalysisAI/InferenceX/actions/runs/28604484366/attempts/2"
    }
  },
  "scenarios": [
    {
      "name": "prudent",
      "tokens_per_second": 12841.6,
      "raw_capacity_m_tokens_per_day": 1109.52,
      "useful_capacity_m_tokens_per_day": 554.76,
      "break_even_utilization_percent": 124.8,
      "cost_per_m_tokens": 0.9656,
      "vs_api": "dearer"
    },
    {
      "name": "median",
      "tokens_per_second": 32104.1,
      "raw_capacity_m_tokens_per_day": 2773.79,
      "useful_capacity_m_tokens_per_day": 1386.9,
      "break_even_utilization_percent": 49.9,
      "cost_per_m_tokens": 0.3862,
      "vs_api": "cheaper"
    },
    {
      "name": "optimistic",
      "tokens_per_second": 74715,
      "raw_capacity_m_tokens_per_day": 6455.38,
      "useful_capacity_m_tokens_per_day": 3227.69,
      "break_even_utilization_percent": 21.4,
      "cost_per_m_tokens": 0.166,
      "vs_api": "cheaper"
    }
  ],
  "volume_m_tokens_per_day": null,
  "assumptions": [
    "Hardware rental only: the hourly price the provider publishes for the machine. It does not count the engineering to deploy and run the model, monitoring, redundancy, start-up time, or storage and network costs billed separately.",
    "Configuration: we pick the cheapest one whose weights fit. If a configuration costing up to 25% more has a measured throughput, we pick it instead; failing that, one with a derived throughput; failing that, one with a published lower bound that settles the verdict; among equals, the cheaper. A configuration whose throughput is only a wide estimate is never preferred over the cheapest. This is our rule, not a technical requirement.",
    "Quantization fp8; guaranteed tier prices as published by the provider; utilization 50%.",
    "Published figures are generally peak throughput measured at high concurrency; an interactive service with latency targets sustains less.",
    "Throughput is aggregate (input and output tokens, 3:1). Published figures in generated tokens are converted with a prefill/generation speed ratio of 3 (prudent), 5 (median) and 8 (optimistic). We treat a published output figure as if the GPUs only generated tokens, ignoring that the benchmark also read prompts: this understates the throughput of the whole configuration, which is the cautious side for self-hosting.",
    "Break-even = daily GPU cost / API price per million tokens (1,384 million tokens a day). Self-hosting is cheaper only if the average utilization you can sustain exceeds break-even / raw capacity (the break-even utilization of each scenario), whatever the number of GPUs."
  ],
  "fetched_at": "2026-10-31T17:33:16.732Z"
}