{
  "id": "round-robin",
  "version": "64b76cb32126",
  "status": "published",
  "name": "Round Robin Calculator",
  "question": "What does my round robin pay?",
  "summary": "Computes the number of parlays in a round robin bet of 3 to 10 picks, the total stake, the payout if every pick wins, and the payout for picks that won, pushed or lost.",
  "category": "game",
  "subcategory": "betting",
  "url": "https://www.acalculator.org/game/round-robin-calculator",
  "markdown": "https://www.acalculator.org/game/round-robin-calculator.md",
  "kind": "function",
  "method": "Parlays = C(n, k) for n picks by k; each parlay pays stake × the product of its decimal odds (pushed picks drop out, a lost pick makes it pay 0); the round robin pays the sum.",
  "assumptions": [
    "Each parlay is a separate bet with the same stake, and its odds are the product of its picks’ decimal odds.",
    "A pushed pick drops out of every parlay it is in; a parlay whose picks all pushed returns its stake.",
    "Results are mathematics, not betting advice."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "format": {
        "title": "Odds format",
        "description": "The format of every pick’s odds: American, decimal, or fractional.",
        "type": "string",
        "enum": [
          "american",
          "decimal",
          "fractional"
        ]
      },
      "picks": {
        "title": "Picks",
        "description": "One row per pick: its odds and its result so far.",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "odds": {
              "title": "Odds",
              "description": "The odds of this pick in the chosen format.",
              "type": "string",
              "maxLength": 30
            },
            "result": {
              "title": "Result",
              "description": "Open or won (counts at its odds), push (dropped from each parlay), or lost. Empty reads as open.",
              "type": "string",
              "enum": [
                "open",
                "push",
                "lose"
              ]
            }
          }
        }
      },
      "size": {
        "title": "Picks per parlay",
        "description": "How many picks each parlay holds: 2 for “by 2s”, 3 for “by 3s”, and so on.",
        "type": "integer",
        "minimum": 2,
        "maximum": 10
      },
      "stake": {
        "title": "Stake per parlay",
        "description": "The amount bet on each parlay of the round robin.",
        "type": "number",
        "x-unit": "USD",
        "exclusiveMinimum": 0,
        "maximum": 10000000
      }
    }
  },
  "outputs": {
    "bets": {
      "label": "Parlays",
      "description": "The number of parlays: C(picks, size) = picks! ÷ (size! × (picks − size)!).",
      "format": "integer"
    },
    "totalStake": {
      "label": "Total stake",
      "description": "Stake per parlay × number of parlays.",
      "format": "money"
    },
    "maxPayout": {
      "label": "Payout if every pick wins",
      "description": "Stake per parlay × the sum of every parlay’s decimal odds.",
      "format": "money"
    },
    "maxProfit": {
      "label": "Profit if every pick wins",
      "description": "Payout if every pick wins minus the total stake.",
      "format": "money"
    },
    "payout": {
      "label": "Payout with these results",
      "description": "The payout counting lost parlays as 0 and dropping pushed picks from the parlays they are in.",
      "format": "money"
    },
    "profit": {
      "label": "Profit with these results",
      "description": "Payout with these results minus the total stake.",
      "format": "money"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "format": "american",
      "picks": [
        {
          "odds": "-110",
          "result": "open"
        },
        {
          "odds": "-110",
          "result": "open"
        },
        {
          "odds": "-110",
          "result": "open"
        }
      ],
      "size": 2,
      "stake": 10
    },
    "outputs": {
      "bets": 3,
      "totalStake": 30,
      "maxPayout": 109.33884297520662,
      "maxProfit": 79.33884297520662,
      "payout": 109.33884297520662,
      "profit": 79.33884297520662
    },
    "text": "A round robin of 3 parlays at $10.00 each costs $30.00 and pays $109.34 if every pick wins."
  },
  "examples": [
    {
      "given": {
        "format": "american",
        "picks": [
          {
            "odds": "-110",
            "result": "open"
          },
          {
            "odds": "-110",
            "result": "open"
          },
          {
            "odds": "-110",
            "result": "open"
          }
        ],
        "size": 2,
        "stake": 10
      },
      "expect": {
        "bets": 3,
        "totalStake": 30,
        "maxPayout": 109.33884297520662,
        "maxProfit": 79.33884297520662
      },
      "source": "hand calculation in content.mdx: 3 × 10 × 441/121 = 13230/121"
    },
    {
      "given": {
        "format": "american",
        "picks": [
          {
            "odds": "-110",
            "result": "open"
          },
          {
            "odds": "-110",
            "result": "open"
          },
          {
            "odds": "-110",
            "result": "lose"
          }
        ],
        "size": 2,
        "stake": 10
      },
      "expect": {
        "payout": 36.446280991735534,
        "profit": 6.446280991735534
      },
      "source": "hand calculation in content.mdx: only the parlay of the two winners pays, 10 × 441/121"
    },
    {
      "given": {
        "format": "decimal",
        "picks": [
          {
            "odds": "2",
            "result": "open"
          },
          {
            "odds": "3",
            "result": "open"
          },
          {
            "odds": "4",
            "result": "push"
          },
          {
            "odds": "1.5",
            "result": "open"
          }
        ],
        "size": 3,
        "stake": 5
      },
      "expect": {
        "bets": 4,
        "totalStake": 20,
        "maxPayout": 315,
        "maxProfit": 295,
        "payout": 112.5,
        "profit": 92.5
      },
      "source": "hand calculation in content.mdx: all win 5 × (24 + 9 + 12 + 18) = 315; with the push 5 × (6 + 9 + 3 + 4.5) = 112.5"
    }
  ],
  "sources": [
    "Wikipedia, Parlay (gambling), round robin: https://en.wikipedia.org/wiki/Parlay_(gambling)",
    "Grinstead and Snell, Introduction to Probability, 2nd ed., American Mathematical Society, section 3.2, combinations (binomial coefficients): https://math.dartmouth.edu/~prob/prob/prob.pdf",
    "National Council on Problem Gambling, help and treatment (1-800-MY-RESET): https://www.ncpgambling.org/help-treatment/"
  ],
  "related": [
    "parlay",
    "betting",
    "odds",
    "hedge"
  ],
  "changelog": [
    {
      "date": "2026-09-28",
      "note": "A pick with no result reads as open; odds parser shapes and decimal comma (WP-70 QA)."
    }
  ]
}
