{
  "@context": {
    "@language": "en",
    "@vocab": "https://schema.org/",
    "citeAs": "cr:citeAs",
    "column": "cr:column",
    "conformsTo": "dct:conformsTo",
    "cr": "http://mlcommons.org/croissant/",
    "data": { "@id": "cr:data", "@type": "@json" },
    "dataType": { "@id": "cr:dataType", "@type": "@vocab" },
    "dct": "http://purl.org/dc/terms/",
    "extract": "cr:extract",
    "field": "cr:field",
    "fileProperty": "cr:fileProperty",
    "fileObject": "cr:fileObject",
    "fileSet": "cr:fileSet",
    "format": "cr:format",
    "includes": "cr:includes",
    "isLiveDataset": "cr:isLiveDataset",
    "jsonPath": "cr:jsonPath",
    "key": "cr:key",
    "md5": "cr:md5",
    "parentField": "cr:parentField",
    "path": "cr:path",
    "recordSet": "cr:recordSet",
    "references": "cr:references",
    "regex": "cr:regex",
    "repeated": "cr:repeated",
    "replace": "cr:replace",
    "sc": "https://schema.org/",
    "separator": "cr:separator",
    "source": "cr:source",
    "subField": "cr:subField",
    "transform": "cr:transform"
  },
  "@type": "sc:Dataset",
  "conformsTo": "http://mlcommons.org/croissant/1.0",
  "name": "betbetter-margin-index",
  "description": "The Bet Better Margin Index: daily measured bookmaker margins (overround) by market class and shape, aggregated across 50+ bookmakers from 1 July 2026. Aggregates only; no prices or bookmaker names. Free to reuse with a credit to Bet Better (betbetter.world).",
  "url": "https://betbetter.world/studies/margin-index",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "citeAs": "Bet Better (2026). The Bet Better Margin Index. https://betbetter.world/studies/margin-index",
  "creator": { "@type": "sc:Organization", "name": "Bet Better", "url": "https://betbetter.world" },
  "datePublished": "2026-07-01",
  "isLiveDataset": true,
  "keywords": ["bookmaker margin", "overround", "sports betting", "market efficiency", "open data"],
  "distribution": [
    {
      "@type": "cr:FileObject",
      "@id": "margin-index.csv",
      "name": "margin-index.csv",
      "description": "Full daily series as CSV. Lines starting with # are comments.",
      "contentUrl": "https://betbetter.world/studies/margin-index?format=csv",
      "encodingFormat": "text/csv"
    }
  ],
  "recordSet": [
    {
      "@type": "cr:RecordSet",
      "@id": "margin_index",
      "name": "margin_index",
      "description": "One row per day, market class and market shape.",
      "key": ["margin_index/as_of_date", "margin_index/market_class", "margin_index/shape"],
      "field": [
        { "@type": "cr:Field", "@id": "margin_index/as_of_date", "name": "as_of_date", "description": "Day the prices were measured (UTC).", "dataType": "sc:Date", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "as_of_date" } } },
        { "@type": "cr:Field", "@id": "margin_index/market_class", "name": "market_class", "description": "h2h, spreads, totals, 3way or props.", "dataType": "sc:Text", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "market_class" } } },
        { "@type": "cr:Field", "@id": "margin_index/shape", "name": "shape", "description": "2way or 3way market.", "dataType": "sc:Text", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "shape" } } },
        { "@type": "cr:Field", "@id": "margin_index/markets_n", "name": "markets_n", "description": "Markets measured that day in the group.", "dataType": "sc:Integer", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "markets_n" } } },
        { "@type": "cr:Field", "@id": "margin_index/books_n", "name": "books_n", "description": "Bookmakers contributing.", "dataType": "sc:Integer", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "books_n" } } },
        { "@type": "cr:Field", "@id": "margin_index/mean_pct", "name": "mean_pct", "description": "Average margin, percent.", "dataType": "sc:Float", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "mean_pct" } } },
        { "@type": "cr:Field", "@id": "margin_index/median_pct", "name": "median_pct", "description": "Median margin, percent.", "dataType": "sc:Float", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "median_pct" } } },
        { "@type": "cr:Field", "@id": "margin_index/dropped_pct", "name": "dropped_pct", "description": "Share of markets excluded by quality checks, percent.", "dataType": "sc:Float", "source": { "fileObject": { "@id": "margin-index.csv" }, "extract": { "column": "dropped_pct" } } }
      ]
    }
  ]
}
