{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "event",
 "url": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/",
 "canonical": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "1. FC Heidenheim vs Kaiserslautern: recorded predictions and results",
 "description": "1. FC Heidenheim vs Kaiserslautern, 9 October 2026. Final score 0-0 · 2. Bundesliga: 1 distinct prediction from 1 author.",
 "first_paragraph": {
  "body": "1. FC Heidenheim finished 0-0 against Kaiserslautern. The recorded prediction is listed below with its outcome. Forecast Record recorded 1 statement from 1 author on 1. FC Heidenheim vs Kaiserslautern (2. Bundesliga, kick-off 9 October 2026): 1 distinct prediction, recorded before kick-off.",
  "key_number": "1",
  "data": "2026-10-09",
  "source_info": "our own evidence archive",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "map_gates",
 "indexing_threshold": {
  "settled_count": 1,
  "date_count": 1,
  "required_settled": 0,
  "required_dates": 0
 },
 "data_date": "2026-10-25T05:36:42.938Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "1ca0c61b0cca82b282bd8be25e073dbc5255d232140fa33115e6a372c2b28380",
 "dependency_group": "event:s-ac618c09ceec",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "SportsEvent",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/picks.csv",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": true,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": {
  "container": true,
  "request_url": "/partnery/moi",
  "disclosure": "Some links below are affiliate links and are marked as such. They never affect what you see above: the order of any table is computed before any commission is known.",
  "page_category": "event"
 },
 "restrictions": {
  "name_withdrawn": false,
  "tracker_number": null,
  "withdrawn_quotes": [],
  "removed_at": null,
  "cause": null,
  "suspended_records": [],
  "withdrawal_log_number": 0
 },
 "page_links": {
  "methodology": "/methodology/",
  "right_of_reply": "/right-of-reply/",
  "source_coverage": "/coverage/",
  "corrections_log": "/corrections/",
  "api": "/api/",
  "claim": "/claim/"
 },
 "event": {
  "id": "s-ac618c09ceec",
  "display_name": "1. FC Heidenheim — Kaiserslautern",
  "competition_name": "2. Bundesliga",
  "starts_at": "2026-10-09T16:30:00.000Z",
  "status": "finished",
  "scoreline": "0-0",
  "condition": "finished",
  "condition_words": "finished",
  "result_received_at": "2026-10-25T05:36:42.938Z",
  "postponement": null,
  "consensus": null,
  "country_name": "Germany",
  "competition_full": "2. Bundesliga (Germany)"
 },
 "evidence_items": [
  {
   "observation_id": "n-2a7ed1fc85ea359d08959e5f",
   "url": "/sources/sportsgambler/picks/78/#pick-n-2a7ed1fc85ea359d08959e5f",
   "quote_text": "Heidenheim To Win @ 1.87",
   "fragment_from": 345,
   "fragment_to": 369,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportsgambler.com/betting-tips/football/heidenheim-vs-kaiserslautern-prediction-lineups-odds-2026-10-09/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "1dca3429cc0e04d622ad8824ff0f7178d84199718498b5e066fd07c543e39039",
    "material_removed": false
   },
   "published_at": "2026-10-07T22:57:54.000Z",
   "detected_at": "2026-10-07T23:07:19.642Z",
   "executed_at": "2026-10-26T02:46:18.026Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-ac618c09ceec",
    "display_name": "1. FC Heidenheim — Kaiserslautern",
    "competition_name": "2. Bundesliga",
    "starts_at": "2026-10-09T16:30:00.000Z",
    "url": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "1. FC Heidenheim",
   "odds_set": {
    "by_author": "1.87",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At the author's stated price",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-07T22:57:54.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-07T22:57:54.000Z",
    "detected_at": "2026-10-07T23:07:19.642Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "1. FC Heidenheim",
    "author_odds": "1.87",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: 1. FC Heidenheim at 1.87"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was 1. FC Heidenheim 0-0 Kaiserslautern."
   },
   "settlements": [
    {
     "operation_id": "deb6aa6a4dd95717b4abde72276f0f970c78bc89f8960c51182678f2c1c24838",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "1. FC Heidenheim",
     "decimal_odds": "1.87",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-26T02:46:18.026Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "25ec5a24ea09ea55fb12f505164fca77804f5cff7eba8686ab668949259e5c59",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "1. FC Heidenheim",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "SportsGambler",
    "publisher": "SportsGambler",
    "forecaster": "SportsGambler",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsgambler.com/betting-tips/football/heidenheim-vs-kaiserslautern-prediction-lineups-odds-2026-10-09/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  }
 ],
 "record_counts": {
  "dictionary_version": "1",
  "dictionary_url": "/methodology/#words",
  "statements": 1,
  "predictions": 1,
  "authors": 1,
  "statements_before_kickoff": 1,
  "settled_picks": 1,
  "duplicates": 0,
  "junk": {}
 },
 "match_summary": {
  "contract_version": "1",
  "final_score": "0-0",
  "state_words": "finished",
  "distinct_predictions": 1,
  "sources": 1,
  "one_source": true,
  "sentence": "1. FC Heidenheim finished 0-0 against Kaiserslautern. The recorded prediction is listed below with its outcome.",
  "who_predicted_what": [
   {
    "record_id": "n-2a7ed1fc85ea359d08959e5f",
    "url": "/sources/sportsgambler/picks/78/#pick-n-2a7ed1fc85ea359d08959e5f",
    "author": "SportsGambler",
    "author_url": "/sources/sportsgambler/",
    "market": "1X2, match result",
    "selection": "1. FC Heidenheim",
    "outcome": "Lost",
    "price": "1.87",
    "published_at": "2026-10-07T22:57:54.000Z",
    "recorded_at": "2026-10-07T23:07:19.642Z",
    "lead_hours": 41.4,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   }
  ],
  "by_market": [
   {
    "market": "1X2, match result",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "1. FC Heidenheim",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "1.87",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   }
  ],
  "found_after_kickoff": 0,
  "selections_before_kickoff": 1,
  "independent_sources": 1,
  "same_material_repeats": 0,
  "sources_list": [
   {
    "source": "sportsgambler.com",
    "materials": 1,
    "authors": 1,
    "selections": 1
   }
  ],
  "what_happened": {
   "won": 0,
   "lost": 1,
   "void": 0,
   "half_won": 0,
   "half_lost": 0,
   "not_settled": 0
  },
  "scenarios": [],
  "lead_time": {
   "contract_version": 1,
   "threshold_hours": 2.0,
   "picks": 1,
   "before_kickoff": 1,
   "after_kickoff": 0,
   "at_least_2h": 1,
   "share_2h_plus": 100.0,
   "median_hours": 41.4,
   "min_hours": 41.4,
   "max_hours": 41.4,
   "words": "Hours between the moment we recorded the pick and kick-off; the share counts picks recorded at least two hours before kick-off."
  }
 },
 "title_tag": "1. FC Heidenheim vs Kaiserslautern: Results — 9 Oct 2026",
 "snapshots": {
  "counting_rule": "1",
  "early": null,
  "closing_line": {
   "id": "sr-be85a47d5130526b54535f2f",
   "type_code": "closing_price",
   "moment_at": "2026-10-09T16:30:00.000Z",
   "freeze_at": "2026-10-25T23:09:00.125Z",
   "approach": "by_capture_time",
   "methodology_version": null,
   "counting_rule": "1",
   "figures": {
    "chain": {
     "admissible": 1,
     "publications": 1,
     "comparable": 1,
     "unique": 1,
     "contributions": 1
    },
    "group_list": [
     {
      "phrase": "1X2, match result — Most common recorded selection: 1. FC Heidenheim (1 of 1 eligible)",
      "source_group": "1x2|*|match|*|*#explicit",
      "leader": "1",
      "n": 1,
      "market_label": "1X2, match result",
      "row_list": [
       {
        "figure": 1,
        "in_words": "1. FC Heidenheim",
        "choice": "1"
       }
      ]
     }
    ],
    "counting_rule": "1",
    "different_products": 0,
    "differing_choices": 0,
    "not_counted": 0
   },
   "composition": [
    "n-2a7ed1fc85ea359d08959e5f"
   ],
   "hash": "0681aad009201ab999eb046b5f6fc0479526638240463120b2b32510ddf28933"
  },
  "author_rows": [
   {
    "id": "sr-7a0978a24d8de718d832abf5",
    "type_code": "author_before_match",
    "moment_at": "2026-10-09T16:30:00.000Z",
    "freeze_at": "2026-10-25T23:09:00.125Z",
    "approach": "by_capture_time",
    "methodology_version": "2.2",
    "counting_rule": "1",
    "figures": {
     "matches": 48,
     "method_version": "2.2",
     "net_points_hundredths": -85795,
     "period_from": "2026-09-26",
     "period_to": "2026-10-08",
     "price_rule": "Our market snapshot",
     "return_percent": "-17.87",
     "settled_picks": 49,
     "staked_hundredths": 480000,
     "void": 1
    },
    "composition": [
     "c|s-017a0de1e9d8|r-24a0f43366c7ee2f|v-320b5ef75dc83bea",
     "c|s-04df9537e9f6|r-3fc3c1373d06e602|v-e5994c97c2fdb218",
     "c|s-078df1b95d3c|r-7952eeee3faf860e|v-41ee8225409cc192",
     "c|s-128b3106ec8e|r-286a201863b31d7e|v-36f9e50e3d8fc4d3",
     "c|s-141f5a19cd98|r-97492c058ea5ff6e|v-77febc5f56b97ed1",
     "c|s-14a5ab70db59|r-35b83f13f0a3f782|v-dd6f4742cab5b4ff",
     "c|s-1bbb4117307b|r-b36329b9d8eb32ea|v-ea8ea6f3516680b4",
     "c|s-1dbe22313d3d|r-92fcfc5b750ffb52|v-53d9b94e69c7c609",
     "c|s-278d2eee17b7|r-8a133ef6f5d1345e|v-804e042b836cac30",
     "c|s-30a4d556eb9b|r-eeebb43a944b2b8b|v-788875a3e3172151",
     "c|s-34ea212a5660|r-ae45e755c40a160e|v-1de31ab22b3c2cce",
     "c|s-36f5d942290c|r-844d186f4f44eb25|v-fcbaa30126b8a879",
     "c|s-396768bd82dd|r-750e0987f1d3fb1c|v-fbdf594b83631882",
     "c|s-3ca0f00250f2|r-77ce1e8b2d0b1924|v-edd4934353825537",
     "c|s-3d12d23bc0bd|r-e35b207a144e27bb|v-fa1a23b3edf55fa4",
     "c|s-44790baf74e2|r-5fa26abd52f8c64e|v-f52bb2e008ba5d6f",
     "c|s-48348fc56231|r-296d52ea5cbd2666|v-7bd59a48666afa27",
     "c|s-4b219d75e4f9|r-6beed3879016d3a6|v-08337d17e07bc060",
     "c|s-5bf2d9f4aa4e|r-5e878376db98eb6a|v-f7241a8fe9ed702f",
     "c|s-5bf2d9f4aa4e|r-807f909338401381|v-bf68a39f9c91df96",
     "c|s-6bc06797d857|r-3e6264413f746f50|v-4b1608db836390a8",
     "c|s-6c8a6939aa43|r-5f52147fdf36b305|v-d22f510e7da8a490",
     "c|s-6f90ce596078|r-e5b96ff5096ccdcd|v-89763a046ffeb897",
     "c|s-720f659f69b8|r-aff61e809816cef5|v-d3e58a4cb6fa46d9",
     "c|s-7284e8f9dd75|r-8649ca79153ae9da|v-097038b863564ded",
     "c|s-76f082ba5b7b|r-f39a6d6316e79e21|v-828a29dd30adbe5c",
     "c|s-82489eaab1c3|r-ad68cb6c376515d4|v-a82845916336d807",
     "c|s-85abafbd219e|r-1d2c917546613192|v-a47a40ec5cec15d8",
     "c|s-8ed21b6de894|r-c1083532773b1041|v-418bf782b1ee2d43",
     "c|s-9069e11e4b2a|r-45c952d48ef22756|v-339aed6237972780",
     "c|s-a7cacf9b256a|r-c8b32472b8a545a9|v-6de4acad68027165",
     "c|s-a804b33384c5|r-c129eaaf90e6524f|v-1a524877f0d889ee",
     "c|s-a8376c26965c|r-0939c56320ea98c0|v-d4d7c566da153ea1",
     "c|s-ad7a63fd6288|r-5ba0d948535c89d2|v-5a6e5ef9fedfbb2a",
     "c|s-b40d6cf32aa4|r-5b066420c7fed31a|v-296596846bdb8365",
     "c|s-be4f3df49505|r-eaf42325f911fdc8|v-e09e25aec408067c",
     "c|s-c540162e7805|r-c951903d831b22c8|v-30fbec30c6185bea",
     "c|s-ccfbd2b39f1e|r-61cc8bff5bae0c3d|v-8487be5e419c19b5",
     "c|s-d6d270432429|r-4d6703702b99bcc1|v-6872a87613086433",
     "c|s-db0c863371b9|r-b59b8abd07e08ffd|v-14ece4494e561d5e",
     "c|s-e02bf5b6fd59|r-a3bbe576960fad6b|v-f1b6ff88b696ba34",
     "c|s-e9909e54eac7|r-3003c27d9a6c843c|v-9c42e5c8f35aaf9d",
     "c|s-e9c5b0aa0bd6|r-5bbe1097359d88c8|v-5ba43cf5cc019fbc",
     "c|s-edb3ea8facb2|r-be6c4dc2b4e142d2|v-d4baf216b4953277",
     "c|s-ef8281584a5e|r-2ae1c820d3796cbe|v-bf9a4213e4b5b402",
     "c|s-f415cce3af2a|r-7f00cc276a1c74cc|v-ea2b4fedbc53c7b2",
     "c|s-f46ecace18db|r-00b1dfb6be0f63c8|v-57bcf81b34bba413",
     "c|s-f93a2343c875|r-f0d10376030141dc|v-bbfea8f7dbc80f13",
     "c|s-fbd20aa726cb|r-167ec304f83b174a|v-619dd1ba99ecc16b"
    ],
    "hash": "bf10d19e9687a5c4533767e3151db4a57408654197c66dc6a3c60c8f685e23af",
    "entity_ref": "e-85fe03b1d758562a5a6c4f90",
    "name_shown": "SportsGambler",
    "url": "/sources/sportsgambler/"
   }
  ],
  "late_additions": null,
  "chips": {
   "id": "sr-9255c1b4aafff33f301430be",
   "type_code": "chips",
   "moment_at": "2026-10-09T16:30:00.000Z",
   "freeze_at": "2026-10-25T23:09:00.125Z",
   "approach": "by_capture_time",
   "methodology_version": null,
   "counting_rule": "1",
   "figures": {
    "chips": {
     "n-2a7ed1fc85ea359d08959e5f": []
    },
    "in_catalog": "1"
   },
   "composition": [
    "n-2a7ed1fc85ea359d08959e5f"
   ],
   "hash": "22f869b5386460e8d8fb60f4c91c081761aa2499afa93d488dbb8b704e9141a3"
  }
 },
 "match_card": {
  "revision": "1",
  "gates": null,
  "open_to_search": false,
  "inputs": {
   "prediction_count": 1,
   "publisher_count": 1,
   "contract": "1x2|*|match|*|*#explicit",
   "forecaster_count": 1,
   "publishers_all": 1,
   "topic_count": 0,
   "checked_count": false,
   "competition_authors": [
    {
     "settled_count": 10
    },
    {
     "settled_count": 8
    },
    {
     "settled_count": 7
    },
    {
     "settled_count": 5
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    }
   ],
   "started": true,
   "facts_only": false,
   "counted_predictions": 1,
   "counted_sources": 1
  },
  "gates_words": "Not open to search: fewer than 3 counted predictions from 3 different sources",
  "created_from": "prediction_page",
  "prediction_count": 0,
  "publisher_count": 1,
  "forecaster_count": 0,
  "newcomer_count": 1,
  "competition_authors": [
   {
    "name_shown": "Baba",
    "url": "/authors/baba/",
    "source_group": "tipsters",
    "settled_count": 6,
    "match_count": 34,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-5ed8b1279a481fcc4214",
      "code_name": "P-09",
      "title_tier": "dated_record",
      "badge_label": "2. Bundesliga · 5/8 · 26 Oct",
      "body": "2. Bundesliga, week of 26 Oct 2026: 5/8 result calls right, first of 6 tipsters and sources with 3+ calls",
      "provenance": "live",
      "anchor_id": "title-5ed8b1279a48",
      "url": null,
      "tier": null,
      "event_at": "2026-11-01"
     },
     {
      "title_id": "zk-37e18fe87e18079a2945",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 7 · 31 Oct",
      "body": "Only one right of 7 tipsters and sources · Draw · Kocaelispor v Rizespor · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-37e18fe87e18",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     }
    ]
   },
   {
    "name_shown": "Jonas Meyer",
    "url": "/authors/jonas-meyer/",
    "source_group": "tipsters",
    "settled_count": 4,
    "match_count": 9,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-225e034bae6cf63b4f0b",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 8 · 10 Oct",
      "body": "Only one right of 8 tipsters and sources · Draw · Monaco v Toulouse · 10 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-225e034bae6c",
      "url": null,
      "tier": null,
      "event_at": "2026-10-10"
     },
     {
      "title_id": "zk-567225b1675f40afc96e",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 3.75 · 23 Oct",
      "body": "Draw at 3.75 · Deportivo Alavés v Málaga CF · 23 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-567225b1675f",
      "url": null,
      "tier": null,
      "event_at": "2026-10-23"
     }
    ]
   },
   {
    "name_shown": "Fabian Schuster",
    "url": "/authors/fabian-schuster/",
    "source_group": "tipsters",
    "settled_count": 1,
    "match_count": 7,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-995afab395afa7f853bd",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 7 · 6 Nov",
      "body": "Only one right of 7 tipsters and sources · Draw · Eintracht Braunschweig v Cottbus · 6 Nov 2026",
      "provenance": "live",
      "anchor_id": "title-995afab395af",
      "url": null,
      "tier": null,
      "event_at": "2026-11-06"
     },
     {
      "title_id": "zk-b9b44f30079e1d970ae9",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 3.73 · 24 Oct",
      "body": "Draw at 3.73 · 1. FC Köln v FC Schalke 04 · 24 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-b9b44f30079e",
      "url": null,
      "tier": null,
      "event_at": "2026-10-24"
     }
    ]
   },
   {
    "name_shown": "Michael Siemann",
    "url": "/authors/michael-siemann/",
    "source_group": "tipsters",
    "settled_count": 1,
    "match_count": 16,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-8b2f5fd83e296124ea3b",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 21 · 31 Oct",
      "body": "Only one right of 21 tipsters and sources · Away win · Bayer 04 Leverkusen v VfB Stuttgart · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-8b2f5fd83e29",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     },
     {
      "title_id": "zk-3125455917621471bb64",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 4.30 · 31 Oct",
      "body": "Away win at 4.30 · Bayer 04 Leverkusen v VfB Stuttgart · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-312545591762",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     }
    ]
   },
   {
    "name_shown": "Tobias Brandt",
    "url": "/authors/tobias-brandt/",
    "source_group": "tipsters",
    "settled_count": 1,
    "match_count": 8,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-a918907756db44b32205",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 11 · 17 Oct",
      "body": "Only one right of 11 tipsters and sources · Home win · Hamburger SV v VfB Stuttgart · 17 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-a918907756db",
      "url": null,
      "tier": null,
      "event_at": "2026-10-17"
     },
     {
      "title_id": "zk-124f63495b68bb44a349",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 8.50 · 31 Oct",
      "body": "Draw at 8.50 · Feyenoord v Fortuna Sittard · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-124f63495b68",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     }
    ]
   }
  ],
  "competition_authors_total": 5,
  "competition_authors_10": 0,
  "full": false,
  "facts_only": false,
  "checked_count": null,
  "window": {
   "d_minus_14_at": "2026-09-25T16:30:00.000Z",
   "d_minus_3_at": "2026-10-06T16:30:00.000Z"
  },
  "first_screen": {
   "body": "Before kick-off, 1 tipster with 10 or more predictions checked against the final score to date had a 90-minute match-result prediction: 1. FC Heidenheim 1 · Draw 0 · Kaiserslautern 0.",
   "byline": "Split of recorded tipsters and sources.",
   "outcome_split": {
    "1": 1,
    "X": 0,
    "2": 0
   },
   "forecasters_outcome": 1,
   "from_score": {},
   "forecasters_from_score": 0,
   "other_markets_only": 0,
   "newcomers": null,
   "market_label": null,
   "market_at": null,
   "predictions_at": "2026-10-07T23:07:19.642Z",
   "comparison": null
  },
  "who_what": {
   "contracts": [],
   "newcomers": [
    {
     "entry_id": "n-2a7ed1fc85ea359d08959e5f",
     "author_name": "SportsGambler",
     "author_href": "/sources/sportsgambler/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "1X2, match result",
     "market_key": "1x2",
     "choice": "1. FC Heidenheim",
     "choice_key": "1",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-07T23:07:19.642Z",
     "posted_at": "2026-10-07T22:57:54.000Z",
     "author_quoted_price": "1.87",
     "our_snapshot": null,
     "closing_line": null,
     "outcome_label": "Lost",
     "pre_match": true,
     "proof": "/sources/sportsgambler/picks/78/#pick-n-2a7ed1fc85ea359d08959e5f",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "prediction_sites",
     "own_page": true,
     "trust_settled_count": 551
    }
   ],
   "not_counted": [],
   "after_start": [],
   "forecaster_split": {
    "contracts": [
     {
      "contract_code": "1x2|*|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "1X2, match result",
      "market_key": "1x2",
      "choices": [
       {
        "code_name": "1",
        "in_words": "1. FC Heidenheim",
        "tips": [
         {
          "author_name": "SportsGambler",
          "entry_id": "n-2a7ed1fc85ea359d08959e5f",
          "outcome_label": "Lost",
          "source_group": "websites"
         }
        ],
        "figure": 1
       },
       {
        "code_name": "X",
        "in_words": "Draw",
        "tips": [],
        "figure": 0
       },
       {
        "code_name": "2",
        "in_words": "Kaiserslautern",
        "tips": [],
        "figure": 0
       }
      ],
      "n": 1,
      "publisher_count": 1
     }
    ],
    "author_count": 1,
    "below_threshold": {
     "prediction_count": 0,
     "author_count": 0
    },
    "limit": 10
   },
   "chain": null,
   "differing_choices": 0,
   "visible_who": 0,
   "newcomers_who": 1,
   "newcomers_before": 1,
   "titles_shown": true,
   "legend": "Badges show titles earned before this prediction, by published rules."
  },
  "arguments": {
   "topics": [],
   "against": [],
   "other_languages": 0,
   "other_language_hosts": [],
   "mode": "quotes",
   "topics_total": 0,
   "checkable": 0
  },
  "market_label": null,
  "market_mode": "show",
  "fact_sheet": {
   "tournament": "2. Bundesliga (Germany)",
   "matchday": null,
   "starts_at": "2026-10-09T16:30:00.000Z",
   "form": {
    "home_side": [
     {
      "res": "W",
      "scoreline": "1-0",
      "opponent": "Greuther Furth",
      "at_home": false,
      "data": "2026-09-06"
     }
    ],
    "away": [
     {
      "res": "W",
      "scoreline": "3-0",
      "opponent": "SV Darmstadt 98",
      "at_home": true,
      "data": "2026-09-05"
     }
    ]
   },
   "head_to_head": [],
   "past_cards": [],
   "reach": ""
  },
  "after_match": {
   "scoreline": "0-0",
   "fact_code": "X",
   "row_list": [
    "Match-result predictions from tipsters and sources with 10 or more predictions checked against the final score to date: 0 of 1 matched",
    "Most common selection among tipsters and sources with 10 or more predictions checked against the final score to date: 1. FC Heidenheim (1 of 1), missed"
   ],
   "by_group": {
    "websites": {
     "correct": 0,
     "of": 1
    }
   },
   "placement": null,
   "checks": []
  },
  "prices": [],
  "revisions": [],
  "titles": {
   "shown": true,
   "legend": "Badges show titles earned before this prediction, by published rules.",
   "frozen_in": "sr-be85a47d5130526b54535f2f"
  },
  "tracker": null,
  "source_groups": {
   "as_of": "2026-10-09T16:30:00.000Z",
   "groups": [
    {
     "key": "prediction_sites",
     "label": "Prediction sites"
    },
    {
     "key": "media",
     "label": "Media"
    },
    {
     "key": "telegram_channels",
     "label": "Telegram channels"
    },
    {
     "key": "private_authors",
     "label": "Independent tipsters"
    }
   ],
   "authors": 1,
   "by_group": [
    {
     "key": "prediction_sites",
     "authors": 1
    },
    {
     "key": "media",
     "authors": 0
    },
    {
     "key": "telegram_channels",
     "authors": 0
    },
    {
     "key": "private_authors",
     "authors": 0
    }
   ],
   "markets": [
    {
     "key": "1x2",
     "label": "Match result",
     "authors": 1,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 1
      },
      {
       "key": "media",
       "authors": 0
      },
      {
       "key": "telegram_channels",
       "authors": 0
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ],
     "choices": [
      {
       "code_name": "1",
       "in_words": "1. FC Heidenheim",
       "authors": 1,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 1
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 0
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      },
      {
       "code_name": "X",
       "in_words": "Draw",
       "authors": 0,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 0
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 0
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      },
      {
       "code_name": "2",
       "in_words": "Kaiserslautern",
       "authors": 0,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 0
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 0
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      }
     ]
    },
    {
     "key": "totals",
     "label": "Goal totals",
     "authors": 0,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 0
      },
      {
       "key": "media",
       "authors": 0
      },
      {
       "key": "telegram_channels",
       "authors": 0
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ]
    },
    {
     "key": "other",
     "label": "Handicaps, both teams to score, correct score and other markets",
     "authors": 0,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 0
      },
      {
       "key": "media",
       "authors": 0
      },
      {
       "key": "telegram_channels",
       "authors": 0
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ]
    }
   ]
  },
  "market_line": {
   "line_state": "no_snapshot",
   "line_frozen": true,
   "phrase": null,
   "line_markets": []
  },
  "pre_kickoff_snapshot": {
   "frozen_before_kickoff": true,
   "as_of_moment": "2026-10-09T16:30:00.000Z",
   "starts_at": "2026-10-09T16:30:00.000Z",
   "phrase": "Before kick-off on 9 October 2026, 17:30 BST: 1X2, match result, recorded picks before the match (1): 1 on 1. FC Heidenheim, 0 on the draw, 0 on Kaiserslautern.",
   "market_line_brief": null,
   "market_groups": [
    {
     "market_group": "1x2",
     "group_markets": [
      {
       "market_text": "1X2, match result",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "1. FC Heidenheim",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "1X2, match result, recorded picks before the match (1): 1 on 1. FC Heidenheim, 0 on the draw, 0 on Kaiserslautern",
       "sides_1x2": [
        {
         "side": "1",
         "in_words": "1. FC Heidenheim",
         "figure": 1
        },
        {
         "side": "X",
         "in_words": "draw",
         "figure": 0
        },
        {
         "side": "2",
         "in_words": "Kaiserslautern",
         "figure": 0
        }
       ]
      }
     ]
    }
   ],
   "predictions_before_kickoff": 1,
   "majority_threshold": {
    "min_predictions": 5,
    "min_share_percent": 60.0
   }
  },
  "teams_prev_next": [
   {
    "side": "home",
    "team": "1. FC Heidenheim",
    "team_url": "/football/teams/1-fc-heidenheim/",
    "participant_id": "u-e6153f4e6aab",
    "previous": {
     "kickoff": "2026-09-06T11:30:00.000Z",
     "name": "Greuther Furth vs 1. FC Heidenheim",
     "url": null,
     "competition": "2. Bundesliga",
     "state": "played",
     "score": "0-1"
    },
    "next": {
     "kickoff": "2026-10-17T11:00:00.000Z",
     "name": "VfL Wolfsburg vs 1. FC Heidenheim",
     "url": null,
     "competition": "2. Bundesliga",
     "state": "played",
     "score": "3-1"
    },
    "why": null
   },
   {
    "side": "away",
    "team": "Kaiserslautern",
    "team_url": null,
    "participant_id": "u-356b1ea2b9d1",
    "previous": {
     "kickoff": "2026-09-05T11:00:00.000Z",
     "name": "Kaiserslautern vs SV Darmstadt 98",
     "url": null,
     "competition": "2. Bundesliga",
     "state": "played",
     "score": "3-0"
    },
    "next": {
     "kickoff": "2026-10-17T11:00:00.000Z",
     "name": "Kaiserslautern vs VfL Bochum",
     "url": null,
     "competition": "2. Bundesliga",
     "state": "played",
     "score": "2-0"
    },
    "why": null
   }
  ]
 },
 "number_sets": [
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/|1X2, match result",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/|1X2, match result",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/|1X2, match result|1. FC Heidenheim",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/|1X2, match result|draw",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/|1X2, match result|Kaiserslautern",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.other_forecasters",
   "entity": "/football/matches/1-fc-heidenheim-vs-kaiserslautern-2026-10-09/",
   "value": 1,
   "where": "new-forecasters",
   "as_of": "2026-11-07T19:52:23.438Z"
  }
 ],
 "data_changes": {
  "records_corrected": 0,
  "last_correction_at": null,
  "corrections_url": "/corrections/"
 },
 "entity_id": "event:s-ac618c09ceec",
 "source_revision": 24
}
