{
  "title": "Solitaire win rates: measured play vs solver ceilings",
  "source": "https://playsolitaire.io/solitaire-win-rates",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "citation": "PlaySolitaire.io Win-Rate Observatory (CC BY 4.0) — https://playsolitaire.io/solitaire-win-rates",
  "asOf": "2026-06-30",
  "entries": [
    {
      "id": "klondike",
      "game": "klondike",
      "label": "Klondike (Draw 1)",
      "href": "/",
      "measured": {
        "display": "31%",
        "wins": null,
        "starts": 188000,
        "startsDisplay": "188,000",
        "winsDisplay": null,
        "windowLabel": "June 2026",
        "dims": "game_start/game_won totals, Klondike (draw_mode dimension history)",
        "approx": true
      },
      "solver": {
        "value": 80,
        "display": "≈ 79–82%",
        "kind": "literature",
        "n": null,
        "script": null,
        "note": "thoughtful-play estimate from the solitaire literature; we own no Klondike solver ceiling"
      },
      "caveats": [
        "unlimited undo included"
      ]
    },
    {
      "id": "klondike-draw1",
      "game": "klondike",
      "label": "Klondike — Draw 1",
      "href": "/",
      "measured": {
        "display": "31%",
        "wins": null,
        "starts": null,
        "startsDisplay": null,
        "winsDisplay": null,
        "windowLabel": "June 2026",
        "dims": "draw_mode=turn1",
        "note": "precise published figure 30.8%"
      },
      "solver": null
    },
    {
      "id": "klondike-draw3",
      "game": "klondike",
      "label": "Klondike — Draw 3",
      "href": "/solitaire-turn-3",
      "measured": {
        "display": "33%",
        "wins": null,
        "starts": null,
        "startsDisplay": null,
        "winsDisplay": null,
        "windowLabel": "June 2026",
        "dims": "draw_mode=turn3",
        "note": "precise published figure 33.0%; self-selection caveat applies"
      },
      "solver": null,
      "caveats": [
        "self-selection: experienced players choose Draw 3"
      ]
    },
    {
      "id": "spider-1-suits",
      "game": "spider",
      "label": "Spider — 1 suit",
      "href": "/spider-solitaire",
      "measured": {
        "display": "50.0%",
        "wins": null,
        "starts": 2257,
        "startsDisplay": "2,257",
        "winsDisplay": null,
        "windowLabel": "June 2026",
        "dims": "game_variant=spider, suit_mode=1"
      },
      "solver": {
        "value": 100,
        "display": "Practically every deal",
        "kind": "literature",
        "n": null,
        "script": null
      }
    },
    {
      "id": "spider-2-suits",
      "game": "spider",
      "label": "Spider — 2 suits",
      "href": "/spider-solitaire-2-suits",
      "measured": {
        "display": "10.4%",
        "wins": null,
        "starts": 1195,
        "startsDisplay": "1,195",
        "winsDisplay": null,
        "windowLabel": "June 2026",
        "dims": "game_variant=spider, suit_mode=2"
      },
      "solver": {
        "value": 95,
        "display": "The overwhelming majority",
        "kind": "literature",
        "n": null,
        "script": null
      }
    },
    {
      "id": "spider-4-suits",
      "game": "spider",
      "label": "Spider — 4 suits",
      "href": "/spider-solitaire-4-suits",
      "measured": {
        "display": "1.1%",
        "wins": null,
        "starts": 177,
        "startsDisplay": "177",
        "winsDisplay": null,
        "windowLabel": "June 2026",
        "dims": "game_variant=spider, suit_mode=4"
      },
      "solver": {
        "value": 90,
        "display": "Most deals — if the line can be found",
        "kind": "literature",
        "n": null,
        "script": null
      }
    },
    {
      "id": "freecell",
      "game": "freecell",
      "label": "FreeCell",
      "href": "/freecell",
      "measured": {
        "display": "11.1%",
        "wins": 137,
        "starts": 1234,
        "startsDisplay": "1,234",
        "winsDisplay": "137",
        "windowLabel": "June 1–30, 2026",
        "windowShort": "June 2026",
        "dims": "game_variant=freecell",
        "note": "page launched weeks before measurement; early sample skews toward first-time visitors"
      },
      "solver": {
        "value": 99.997,
        "display": "31,999 of 32,000 (99.997%)",
        "kind": "catalog",
        "n": 32000,
        "script": null,
        "note": "the original Microsoft catalog; the modern 1,000,000-deal catalog is ≈99.999%"
      }
    },
    {
      "id": "tripeaks",
      "game": "tripeaks",
      "label": "TriPeaks",
      "href": "/tripeaks-solitaire",
      "measured": null,
      "solver": {
        "value": 96.6,
        "display": "96.6%",
        "kind": "exact-exhaustive",
        "n": 1000,
        "script": "scripts/bench-tripeaks.ts"
      }
    },
    {
      "id": "scorpion",
      "game": "scorpion",
      "label": "Scorpion",
      "href": "/scorpion-solitaire",
      "measured": null,
      "solver": {
        "value": 12.8,
        "display": "≥ 12.8%",
        "kind": "budgeted-lower-bound",
        "n": 1000,
        "script": "scripts/bench-scorpion.ts",
        "note": "224 of 1,000 deals undecided at the search budget"
      }
    },
    {
      "id": "wasp",
      "game": "wasp",
      "label": "Wasp",
      "href": "/wasp-solitaire",
      "measured": null,
      "solver": {
        "value": 77.9,
        "display": "≥ 77.9%",
        "kind": "budgeted-lower-bound",
        "n": 1000,
        "script": "scripts/bench-scorpion.ts"
      }
    },
    {
      "id": "golf",
      "game": "golf",
      "label": "Golf (strict rules)",
      "href": "/golf-solitaire",
      "measured": null,
      "solver": {
        "value": 27,
        "display": "≈ 27%",
        "kind": "exact-exhaustive",
        "n": 2000,
        "script": "scripts/bench-golf.ts"
      },
      "curatedPool": true,
      "caveats": [
        "deals served on this site are pre-verified winnable — measured rates are on the curated pool"
      ]
    },
    {
      "id": "pyramid",
      "game": "pyramid",
      "label": "Pyramid",
      "href": "/pyramid-solitaire",
      "measured": null,
      "solver": {
        "value": 65.8,
        "display": "65.8%",
        "kind": "exact-exhaustive",
        "n": 1520,
        "script": null,
        "note": "one-off analysis; bench harness not yet recreated"
      },
      "curatedPool": true,
      "caveats": [
        "deals served on this site are pre-verified winnable — measured rates are on the curated pool"
      ]
    },
    {
      "id": "yukon",
      "game": "yukon",
      "label": "Yukon",
      "href": "/yukon-solitaire",
      "measured": null,
      "solver": {
        "value": 75,
        "display": "≈ 75%",
        "kind": "budgeted-lower-bound",
        "n": null,
        "script": null,
        "note": "solver finds a full line on roughly three of four random deals within budget"
      }
    },
    {
      "id": "russian",
      "game": "russian",
      "label": "Russian",
      "href": "/russian-solitaire",
      "measured": null,
      "solver": {
        "value": 7,
        "display": "≈ 7%",
        "kind": "exact-exhaustive",
        "n": 2000,
        "script": "scripts/bench-russian.ts"
      }
    },
    {
      "id": "alaska",
      "game": "alaska",
      "label": "Alaska",
      "href": "/alaska-solitaire",
      "measured": null,
      "solver": {
        "value": 80,
        "display": "≈ 80%",
        "kind": "budgeted-lower-bound",
        "n": null,
        "script": null,
        "note": "solver finds a full line on about four of five random deals within budget"
      }
    }
  ]
}