{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/calum-burrowes/picks/6/",
 "canonical": "/authors/calum-burrowes/picks/6/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Calum Burrowes — football predictions, page 6 of 9",
 "description": "Predictions 81–100 of 144 by Calum Burrowes, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 6 of 9 of the predictions by Calum Burrowes recorded by Forecast Record: predictions 81–100 of 144 in the order we recorded them, earliest first; as of 7 November 2026. Each row links to its evidence, and the summary of the record is on the profile page.",
  "key_number": "144",
  "data": "2026-11-07",
  "source_info": "our own evidence archive",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "technical",
 "indexing_threshold": {
  "settled_count": 0,
  "date_count": 0,
  "required_settled": 0,
  "required_dates": 0
 },
 "data_date": "2026-11-07T17:58:32.111Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "0cc771334e3d9dbf1540cebe05dc5acedf223017da66e01dc12256855a324e01",
 "dependency_group": "author:e-69588cd1e214a47800b45130",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/calum-burrowes/picks/6/index.json",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": false,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": null,
 "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/"
 },
 "entity": {
  "id": "e-69588cd1e214a47800b45130",
  "public_name": "Calum Burrowes",
  "tracker_number": 1321,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-24",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-1cdfae5e044eb4a36e798c27",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-1cdfae5e044eb4a36e798c27",
   "match": "Swansea City v West Ham United",
   "match_url": "/football/matches/swansea-city-vs-west-ham-united-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 45.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "3.5800",
   "published_at": "2026-10-15T15:16:00.000Z",
   "recorded_at": "2026-10-15T16:09:50.754Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.1850",
    "result": "Won",
    "points_hundredths": 11850,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1cdfae5e044eb4a36e798c27",
    "quote_text": "we expect the hosts' winning run to come to an end, although both sides should have enough quality to produce an entertaining draw in South Wales.",
    "fragment_from": 5481,
    "fragment_to": 5627,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/swansea-city/preview/swansea-vs-west-ham-prediction-team-news-lineups_606973.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8a5247697aa3c2da081e7136e5cc2388f62e605a8b31a1463eb1e3bf7ba0e58a",
     "material_removed": false
    },
    "published_at": "2026-10-15T15:16:00.000Z",
    "detected_at": "2026-10-15T16:09:50.754Z",
    "executed_at": "2026-10-15T16:33:09.901Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-055e7ad580bd",
     "display_name": "Swansea City — West Ham United",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/swansea-city-vs-west-ham-united-2026-10-17/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "3.5800",
     "our_snapshot_at": "2026-10-15T16:05:19.294Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T15:16:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T15:16:00.000Z",
     "detected_at": "2026-10-15T16:09:50.754Z",
     "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": "draw",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Swansea City 0-1 West Ham United."
    },
    "settlements": [
     {
      "operation_id": "8df5f1688fd80879998ce1346a16b516c06d3d290bf5e88815d4428268a80266",
      "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": "draw",
      "decimal_odds": "3.5800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-15T16:33:09.901Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/swansea-city/preview/swansea-vs-west-ham-prediction-team-news-lineups_606973.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-66a28f43a36e8a1667b6eb6e",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-66a28f43a36e8a1667b6eb6e",
   "match": "Swansea City v West Ham United",
   "match_url": "/football/matches/swansea-city-vs-west-ham-united-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 45.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Swansea City 2-2 West Ham United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T15:16:00.000Z",
   "recorded_at": "2026-10-15T16:09:50.754Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.1850",
    "result": "Won",
    "points_hundredths": 11850,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-66a28f43a36e8a1667b6eb6e",
    "quote_text": "We say: Swansea City 2-2 West Ham United",
    "fragment_from": 5158,
    "fragment_to": 5198,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/swansea-city/preview/swansea-vs-west-ham-prediction-team-news-lineups_606973.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8a5247697aa3c2da081e7136e5cc2388f62e605a8b31a1463eb1e3bf7ba0e58a",
     "material_removed": false
    },
    "published_at": "2026-10-15T15:16:00.000Z",
    "detected_at": "2026-10-15T16:09:50.754Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-055e7ad580bd",
     "display_name": "Swansea City — West Ham United",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/swansea-city-vs-west-ham-united-2026-10-17/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Swansea City 2-2 West Ham United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T15:16:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T15:16:00.000Z",
     "detected_at": "2026-10-15T16:09:50.754Z",
     "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": "Correct score",
     "choice": "Swansea City 2-2 West Ham United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Swansea City 2-2 West Ham United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Swansea City 0-1 West Ham United."
    },
    "settlements": [
     {
      "operation_id": "3e82b1b5f90c5b2226272bf9b0b7cc8cfd8b8a88496190dbcccb2d045c817e80",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-15T16:33:10.062Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/swansea-city/preview/swansea-vs-west-ham-prediction-team-news-lineups_606973.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Swansea City 2-2 West Ham United"
   }
  },
  {
   "record_id": "n-2010ebfb94c0782e3f43d65d",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-2010ebfb94c0782e3f43d65d",
   "match": "Cambridge United v Wycombe Wanderers",
   "match_url": "/football/matches/cambridge-united-vs-wycombe-wanderers-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 54.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cambridge United 1-1 Wycombe Wanderers",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T11:21:00.000Z",
   "recorded_at": "2026-10-18T12:10:02.733Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2010ebfb94c0782e3f43d65d",
    "quote_text": "We say: Cambridge United 1-1 Wycombe Wanderers",
    "fragment_from": 4817,
    "fragment_to": 4863,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/cambridge-vs-wycombe-prediction-team-news-lineups_607158.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "62a6d2e3848a8d4cb1b00609de819d09f1f4d2dedcd764d501b81aa015463538",
     "material_removed": false
    },
    "published_at": "2026-10-18T11:21:00.000Z",
    "detected_at": "2026-10-18T12:10:02.733Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-221b39525b82",
     "display_name": "Cambridge United — Wycombe Wanderers",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/cambridge-united-vs-wycombe-wanderers-2026-10-20/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cambridge United 1-1 Wycombe Wanderers",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T11:21:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T11:21:00.000Z",
     "detected_at": "2026-10-18T12:10:02.733Z",
     "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": "Correct score",
     "choice": "Cambridge United 1-1 Wycombe Wanderers",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cambridge United 1-1 Wycombe Wanderers"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Cambridge United 2-2 Wycombe Wanderers."
    },
    "settlements": [
     {
      "operation_id": "4a8037b1692d1410a7ed9a613684b32defe20452a9b82d4bec48ebb252e31f30",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24800,
      "executed_at": "2026-10-22T11:12:51.374Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/wycombe-wanderers/preview/cambridge-vs-wycombe-prediction-team-news-lineups_607158.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United 1-1 Wycombe Wanderers"
   }
  },
  {
   "record_id": "n-caa98ae4c53b526e3b7bc16a",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-caa98ae4c53b526e3b7bc16a",
   "match": "AFC Wimbledon v Mansfield Town",
   "match_url": "/football/matches/afc-wimbledon-vs-mansfield-town-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 53.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AFC Wimbledon 1-1 Mansfield Town",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T12:33:00.000Z",
   "recorded_at": "2026-10-18T13:10:01.028Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-caa98ae4c53b526e3b7bc16a",
    "quote_text": "We say: AFC Wimbledon 1-1 Mansfield Town",
    "fragment_from": 5032,
    "fragment_to": 5072,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-mansfield-prediction-team-news-lineups_607165.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4d5ff14efedccc57fe7b926ec9ac8414537bae07abfba6d7555b87a1814e6d90",
     "material_removed": false
    },
    "published_at": "2026-10-18T12:33:00.000Z",
    "detected_at": "2026-10-18T13:10:01.028Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0943f5c26978",
     "display_name": "AFC Wimbledon — Mansfield Town",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/afc-wimbledon-vs-mansfield-town-2026-10-20/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AFC Wimbledon 1-1 Mansfield Town",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T12:33:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T12:33:00.000Z",
     "detected_at": "2026-10-18T13:10:01.028Z",
     "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": "Correct score",
     "choice": "AFC Wimbledon 1-1 Mansfield Town",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AFC Wimbledon 1-1 Mansfield Town"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AFC Wimbledon 0-3 Mansfield Town."
    },
    "settlements": [
     {
      "operation_id": "a310adc6a3ea853d928bd63990657b7fa6c317deee93e847caac0bcc8eeb4aba",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:23:32.144Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-mansfield-prediction-team-news-lineups_607165.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Wimbledon 1-1 Mansfield Town"
   }
  },
  {
   "record_id": "n-c15a9295f7665f99a7a5b460",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-c15a9295f7665f99a7a5b460",
   "match": "Stevenage v Plymouth Argyle",
   "match_url": "/football/matches/stevenage-vs-plymouth-argyle-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Stevenage 1-1 Plymouth Argyle",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T14:44:54.000Z",
   "recorded_at": "2026-10-18T15:09:53.793Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c15a9295f7665f99a7a5b460",
    "quote_text": "We say: Stevenage 1-1 Plymouth Argyle",
    "fragment_from": 4468,
    "fragment_to": 4505,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/stevenage-vs-plymouth-prediction-team-news-lineups_607173.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "91329262c686bccfec77b28b5cf71feee6bc3520c868f02eba7ac2a321ae7884",
     "material_removed": false
    },
    "published_at": "2026-10-18T14:44:54.000Z",
    "detected_at": "2026-10-18T15:09:53.793Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-139698a408f3",
     "display_name": "Stevenage — Plymouth Argyle",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/stevenage-vs-plymouth-argyle-2026-10-20/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Stevenage 1-1 Plymouth Argyle",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T14:44:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T14:44:54.000Z",
     "detected_at": "2026-10-18T15:09:53.793Z",
     "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": "Correct score",
     "choice": "Stevenage 1-1 Plymouth Argyle",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Stevenage 1-1 Plymouth Argyle"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Stevenage 3-0 Plymouth Argyle."
    },
    "settlements": [
     {
      "operation_id": "37b1959d228e2b1be677f602d9f5370a6abbbaad789a9d36364ee55e998d629f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:17:57.841Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/plymouth-argyle/preview/stevenage-vs-plymouth-prediction-team-news-lineups_607173.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stevenage 1-1 Plymouth Argyle"
   }
  },
  {
   "record_id": "n-4e3c8b8758d0beb35337dafc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Blackpool 1-2 MK Dons",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T15:52:00.000Z",
   "recorded_at": "2026-10-18T16:09:58.407Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-322d2ea88410753690fc9e1a",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-322d2ea88410753690fc9e1a",
   "match": "TSG Hoffenheim v Olympique Lyonnais",
   "match_url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 56.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.5",
   "settled_price": "1.5",
   "published_at": "2026-10-20T10:31:44.000Z",
   "recorded_at": "2026-10-20T10:44:17.299Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-322d2ea88410753690fc9e1a",
    "quote_text": "> Over 2.5 goals at 1/2 | Likelihood: Probable",
    "fragment_from": 4955,
    "fragment_to": 5001,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f9d58c32cf28aecb0924fdd0e4c02a54f2faa4b8ce4f9dbc25b5cc42f6c7e5b8",
     "material_removed": false
    },
    "published_at": "2026-10-20T10:31:44.000Z",
    "detected_at": "2026-10-20T10:44:17.299Z",
    "executed_at": "2026-11-07T09:26:32.098Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fb9f2443b067",
     "display_name": "TSG Hoffenheim — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5000,
    "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-20T10:31:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T10:31:44.000Z",
     "detected_at": "2026-10-20T10:44:17.299Z",
     "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": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.5",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was TSG Hoffenheim 3-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "4c3ab3af74a1d7143540c507a983dfe7edcf3b13ffdade3a24cd2f5a38793a65",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-11-07T09:26:32.098Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "815e36d1227ad18c7161d3fe5b27fbc0aac4ca63696658a24dcb489d197ce18e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "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": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-48cf8d5b3aa35ecad2a04818",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-48cf8d5b3aa35ecad2a04818",
   "match": "TSG Hoffenheim v Olympique Lyonnais",
   "match_url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 56.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympique Lyonnais at 3.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.25",
   "settled_price": "3.3000",
   "published_at": "2026-10-20T10:31:44.000Z",
   "recorded_at": "2026-10-20T10:44:17.299Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0000",
    "result": "Won",
    "points_hundredths": 10000,
    "picked_favourite": false
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-48cf8d5b3aa35ecad2a04818",
    "quote_text": "> Lyon to win at 9/4 | Likelihood: Probable",
    "fragment_from": 4910,
    "fragment_to": 4953,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f9d58c32cf28aecb0924fdd0e4c02a54f2faa4b8ce4f9dbc25b5cc42f6c7e5b8",
     "material_removed": false
    },
    "published_at": "2026-10-20T10:31:44.000Z",
    "detected_at": "2026-10-20T10:44:17.299Z",
    "executed_at": "2026-10-22T00:47:15.324Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fb9f2443b067",
     "display_name": "TSG Hoffenheim — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympique Lyonnais",
    "odds_set": {
     "by_author": "3.25",
     "our_snapshot": "3.3000",
     "our_snapshot_at": "2026-10-20T10:42:55.127Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T10:31:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T10:31:44.000Z",
     "detected_at": "2026-10-20T10:44:17.299Z",
     "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": "Olympique Lyonnais",
     "author_odds": "3.25",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympique Lyonnais at 3.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "87d761c95ee83190e92a2d3a278fae94f520cd492bd6b95f5ecf760eee073811",
      "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": "Olympique Lyonnais",
      "decimal_odds": "3.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:47:15.284Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "0334e248e046d5361006fe9c334b70dd74913df8c0711c2ef5d93442e17da9c1",
      "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": "Olympique Lyonnais",
      "decimal_odds": "3.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:47:15.324Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique Lyonnais to win"
   }
  },
  {
   "record_id": "n-55afa7b48038bce550220c4f",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-55afa7b48038bce550220c4f",
   "match": "TSG Hoffenheim v Olympique Lyonnais",
   "match_url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 56.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: TSG Hoffenheim 1-3 Olympique Lyonnais",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T10:31:44.000Z",
   "recorded_at": "2026-10-20T10:44:17.299Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0000",
    "result": "Won",
    "points_hundredths": 10000,
    "picked_favourite": false
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-55afa7b48038bce550220c4f",
    "quote_text": "Whispers predicts: Hoffenheim 1-3 Lyon",
    "fragment_from": 4153,
    "fragment_to": 4191,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f9d58c32cf28aecb0924fdd0e4c02a54f2faa4b8ce4f9dbc25b5cc42f6c7e5b8",
     "material_removed": false
    },
    "published_at": "2026-10-20T10:31:44.000Z",
    "detected_at": "2026-10-20T10:44:17.299Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fb9f2443b067",
     "display_name": "TSG Hoffenheim — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "TSG Hoffenheim 1-3 Olympique Lyonnais",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T10:31:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T10:31:44.000Z",
     "detected_at": "2026-10-20T10:44:17.299Z",
     "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": "Correct score",
     "choice": "TSG Hoffenheim 1-3 Olympique Lyonnais",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: TSG Hoffenheim 1-3 Olympique Lyonnais"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was TSG Hoffenheim 3-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "470a64668b471c43be25fbda82e57badcf209a4f53d4e909a9a21e75280b7f90",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique Lyonnais",
      "decimal_odds": "3.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:47:15.259Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "TSG Hoffenheim 1-3 Olympique Lyonnais"
   }
  },
  {
   "record_id": "n-995c21da6e96b8286f3eadd9",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-995c21da6e96b8286f3eadd9",
   "match": "TSG Hoffenheim v Olympique Lyonnais",
   "match_url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 56.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.5",
   "settled_price": "1.4665",
   "published_at": "2026-10-20T10:31:44.000Z",
   "recorded_at": "2026-10-20T10:44:17.299Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-995c21da6e96b8286f3eadd9",
    "quote_text": "> Both Teams to Score – Yes at 1/2 | Likelihood: Probable",
    "fragment_from": 5003,
    "fragment_to": 5060,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f9d58c32cf28aecb0924fdd0e4c02a54f2faa4b8ce4f9dbc25b5cc42f6c7e5b8",
     "material_removed": false
    },
    "published_at": "2026-10-20T10:31:44.000Z",
    "detected_at": "2026-10-20T10:44:17.299Z",
    "executed_at": "2026-11-07T09:26:35.088Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fb9f2443b067",
     "display_name": "TSG Hoffenheim — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": "1.4665",
     "our_snapshot_at": "2026-10-20T10:42:55.127Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T10:31:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T10:31:44.000Z",
     "detected_at": "2026-10-20T10:44:17.299Z",
     "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": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.5",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "cf3e0c3a7f370f3503d9ff5243e95dddb7b345ece58604a71fb82752bbe3d032",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:26:34.132Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4ba618994687e678093993f03c86d4a1704336ff5ee029645b2ccfc67f949e97",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.4665",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:26:35.088Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-ab9efd37a2af601f4de65be6",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-ab9efd37a2af601f4de65be6",
   "match": "TSG Hoffenheim v Olympique Lyonnais",
   "match_url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 56.3,
   "market_code": "player_goal_or_assist",
   "author_said": "Player to score or assist: Zachary Christopher Athekame to score or assist at 4.33",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": "3-0",
   "reason": "",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T10:31:44.000Z",
   "recorded_at": "2026-10-20T10:44:17.299Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-ab9efd37a2af601f4de65be6",
    "quote_text": "> Zachary Athekame to score or assist at 10/3 | Likelihood: Possible",
    "fragment_from": 5062,
    "fragment_to": 5130,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f9d58c32cf28aecb0924fdd0e4c02a54f2faa4b8ce4f9dbc25b5cc42f6c7e5b8",
     "material_removed": false
    },
    "published_at": "2026-10-20T10:31:44.000Z",
    "detected_at": "2026-10-20T10:44:17.299Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-fb9f2443b067",
     "display_name": "TSG Hoffenheim — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Player to score or assist",
    "outcome_label": "Zachary Christopher Athekame to score or assist",
    "odds_set": {
     "by_author": "4.33",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T10:31:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T10:31:44.000Z",
     "detected_at": "2026-10-20T10:44:17.299Z",
     "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": "Player to score or assist",
     "choice": "Zachary Christopher Athekame to score or assist",
     "author_odds": "4.33",
     "market_key": "player_goal_or_assist",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": null,
     "in_words": "Player to score or assist: Zachary Christopher Athekame to score or assist at 4.33"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": "3-0",
     "data_status": "unknown",
     "cause": "awaiting the final score",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting the final score."
    },
    "settlements": [
     {
      "operation_id": "ee6a8e57c1a28c6431b13ebf313921e75dd19df450edf14e3fe225feb1f04d91",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score or assist",
      "choice": "Zachary Christopher Athekame to score or assist",
      "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
     },
     {
      "operation_id": "f78da15d065f02988258cb0e054b7cc95d0ad3d8946d6722d00bd254e4772460",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score or assist",
      "choice": "Zachary Christopher Athekame to score or assist",
      "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": "prediction",
    "authorship": {
     "material_author": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/hoffenheim-vs-lyon-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Zachary Christopher Athekame to score or assist"
   }
  },
  {
   "record_id": "n-11cb94e2506d34a34f025191",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-11cb94e2506d34a34f025191",
   "match": "VfB Stuttgart v Borussia M'gladbach",
   "match_url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
   "kickoff": "2026-10-23T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 56.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: VfB Stuttgart at 1.38",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.38",
   "settled_price": "1.3636",
   "published_at": "2026-10-21T09:51:47.000Z",
   "recorded_at": "2026-10-21T10:04:17.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-11cb94e2506d34a34f025191",
    "quote_text": "> Stuttgart to win at 19/50 | Likelihood: Likely",
    "fragment_from": 5086,
    "fragment_to": 5134,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "462c67e499f1916b352c7c85879bf4a5aabc57a5f8a957a29c06d188b52515ca",
     "material_removed": false
    },
    "published_at": "2026-10-21T09:51:47.000Z",
    "detected_at": "2026-10-21T10:04:17.121Z",
    "executed_at": "2026-11-07T09:49:47.041Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa74736a16f2",
     "display_name": "VfB Stuttgart — Borussia M'gladbach",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-23T18:30:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "VfB Stuttgart",
    "odds_set": {
     "by_author": "1.38",
     "our_snapshot": "1.3636",
     "our_snapshot_at": "2026-10-21T10:03:32.850Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T09:51:47.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T09:51:47.000Z",
     "detected_at": "2026-10-21T10:04:17.121Z",
     "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": "VfB Stuttgart",
     "author_odds": "1.38",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: VfB Stuttgart at 1.38"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was VfB Stuttgart 2-3 Borussia M'gladbach."
    },
    "settlements": [
     {
      "operation_id": "a08e2133679c58c73b355cb4d045540310649a0fdf47ef4bfa592683816cc41a",
      "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": "VfB Stuttgart",
      "decimal_odds": "1.38",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:49:46.146Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d9abb2dafb2adbbe74a1a030d5fa70ba04acf472b7232de77760344a2dae169b",
      "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": "VfB Stuttgart",
      "decimal_odds": "1.3636",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:49:47.041Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "VfB Stuttgart to win"
   }
  },
  {
   "record_id": "n-b4f1b62d84102334a74e71bb",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-b4f1b62d84102334a74e71bb",
   "match": "VfB Stuttgart v Borussia M'gladbach",
   "match_url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
   "kickoff": "2026-10-23T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 56.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 3.75",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "3.75",
   "settled_price": "3.75",
   "published_at": "2026-10-21T09:51:47.000Z",
   "recorded_at": "2026-10-21T10:04:17.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-b4f1b62d84102334a74e71bb",
    "quote_text": "> Under 2.5 goals at 11/4 | Likelihood: Likely",
    "fragment_from": 5136,
    "fragment_to": 5182,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "462c67e499f1916b352c7c85879bf4a5aabc57a5f8a957a29c06d188b52515ca",
     "material_removed": false
    },
    "published_at": "2026-10-21T09:51:47.000Z",
    "detected_at": "2026-10-21T10:04:17.121Z",
    "executed_at": "2026-11-07T12:27:44.671Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa74736a16f2",
     "display_name": "VfB Stuttgart — Borussia M'gladbach",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-23T18:30:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "3.75",
     "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-21T09:51:47.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T09:51:47.000Z",
     "detected_at": "2026-10-21T10:04:17.121Z",
     "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": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "3.75",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 3.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was VfB Stuttgart 2-3 Borussia M'gladbach."
    },
    "settlements": [
     {
      "operation_id": "a900df333168c437b7f5ffbf9d4a4b53b865e4cdeb2c5507de39524720fcd4d4",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "3.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T12:27:44.671Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e75f3220941402096d5b1dd36927d8cf70b267646a8e461c5b02a3cf550f9eba",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "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": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-df7a49ce6d9b29b4fcb40a5e",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-df7a49ce6d9b29b4fcb40a5e",
   "match": "VfB Stuttgart v Borussia M'gladbach",
   "match_url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
   "kickoff": "2026-10-23T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 56.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no at 2.62",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.625",
   "settled_price": "2.6500",
   "published_at": "2026-10-21T09:51:47.000Z",
   "recorded_at": "2026-10-21T10:04:17.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-df7a49ce6d9b29b4fcb40a5e",
    "quote_text": "> Both Teams to Score – No at 13/8 | Likelihood: Likely",
    "fragment_from": 5184,
    "fragment_to": 5239,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "462c67e499f1916b352c7c85879bf4a5aabc57a5f8a957a29c06d188b52515ca",
     "material_removed": false
    },
    "published_at": "2026-10-21T09:51:47.000Z",
    "detected_at": "2026-10-21T10:04:17.121Z",
    "executed_at": "2026-11-07T12:27:47.673Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa74736a16f2",
     "display_name": "VfB Stuttgart — Borussia M'gladbach",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-23T18:30:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": "2.625",
     "our_snapshot": "2.6500",
     "our_snapshot_at": "2026-10-21T10:03:32.850Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T09:51:47.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T09:51:47.000Z",
     "detected_at": "2026-10-21T10:04:17.121Z",
     "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": "Both teams to score",
     "choice": "no",
     "author_odds": "2.625",
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no at 2.62"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was VfB Stuttgart 2-3 Borussia M'gladbach."
    },
    "settlements": [
     {
      "operation_id": "c49c05aabd490a05df4689672b887a051e3555649bb5bb714ac48aec9ef93e55",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.625",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T12:27:46.778Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "56cd8dff2ef9b001c297531175e371f7858b1378bcef7701dcd78534c2c7445d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.6500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T12:27:47.673Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-fdb442b9184aed0979a2f3d6",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-fdb442b9184aed0979a2f3d6",
   "match": "VfB Stuttgart v Borussia M'gladbach",
   "match_url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
   "kickoff": "2026-10-23T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 56.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: VfB Stuttgart 1-0 Borussia M'gladbach at 15",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "15",
   "settled_price": "15",
   "published_at": "2026-10-21T09:51:47.000Z",
   "recorded_at": "2026-10-21T10:04:17.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-fdb442b9184aed0979a2f3d6",
    "quote_text": "> Correct score of 1-0 at 14/1 | Likelihood: Outsider",
    "fragment_from": 5311,
    "fragment_to": 5364,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "462c67e499f1916b352c7c85879bf4a5aabc57a5f8a957a29c06d188b52515ca",
     "material_removed": false
    },
    "published_at": "2026-10-21T09:51:47.000Z",
    "detected_at": "2026-10-21T10:04:17.121Z",
    "executed_at": "2026-11-07T12:27:46.014Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa74736a16f2",
     "display_name": "VfB Stuttgart — Borussia M'gladbach",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-23T18:30:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "VfB Stuttgart 1-0 Borussia M'gladbach",
    "odds_set": {
     "by_author": "15",
     "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-21T09:51:47.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T09:51:47.000Z",
     "detected_at": "2026-10-21T10:04:17.121Z",
     "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": "Correct score",
     "choice": "VfB Stuttgart 1-0 Borussia M'gladbach",
     "author_odds": "15",
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: VfB Stuttgart 1-0 Borussia M'gladbach at 15"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was VfB Stuttgart 2-3 Borussia M'gladbach."
    },
    "settlements": [
     {
      "operation_id": "e7833b0d8f2e1d2fcc929b99590e7f9480b59c66ceb8b74bc21e2f25eac855d4",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "VfB Stuttgart 1-0 Borussia M'gladbach",
      "decimal_odds": "15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T12:27:46.014Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "02ec0a42d0db17315caab2b30f6010463c64fe2d364a22abf591bec763df0b07",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "VfB Stuttgart 1-0 Borussia M'gladbach",
      "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": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "VfB Stuttgart 1-0 Borussia M'gladbach"
   }
  },
  {
   "record_id": "n-fdf87626c10e11bc3e85a021",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-fdf87626c10e11bc3e85a021",
   "match": "VfB Stuttgart v Borussia M'gladbach",
   "match_url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
   "kickoff": "2026-10-23T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 56.4,
   "market_code": "player_to_score",
   "author_said": "Player to score: Ermedin Demirovic to score at 1.91",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9090,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.909",
   "settled_price": "1.909",
   "published_at": "2026-10-21T09:51:47.000Z",
   "recorded_at": "2026-10-21T10:04:17.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-fdf87626c10e11bc3e85a021",
    "quote_text": "> Ermedin Demirovic to score anytime at 10/11 | Likelihood: Possible",
    "fragment_from": 5241,
    "fragment_to": 5309,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Cal Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "462c67e499f1916b352c7c85879bf4a5aabc57a5f8a957a29c06d188b52515ca",
     "material_removed": false
    },
    "published_at": "2026-10-21T09:51:47.000Z",
    "detected_at": "2026-10-21T10:04:17.121Z",
    "executed_at": "2026-11-07T09:49:47.191Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa74736a16f2",
     "display_name": "VfB Stuttgart — Borussia M'gladbach",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-23T18:30:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Ermedin Demirovic to score",
    "odds_set": {
     "by_author": "1.909",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 9090,
    "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-21T09:51:47.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T09:51:47.000Z",
     "detected_at": "2026-10-21T10:04:17.121Z",
     "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": "Player to score",
     "choice": "Ermedin Demirovic to score",
     "author_odds": "1.909",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Ermedin Demirovic to score at 1.91"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won — Ermedin Demirovic scored 2 goals; the final score was VfB Stuttgart 2-3 Borussia M'gladbach."
    },
    "settlements": [
     {
      "operation_id": "c070511f796831f1b19df7a11c489522aa43dd4c7fe8904d91cacad26c8ac6cc",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Ermedin Demirovic to score",
      "decimal_odds": "1.909",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9090,
      "executed_at": "2026-11-07T09:49:47.191Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d4cc00a577c53be44acb98b3057e973aa8799cdc8d77edad3b8cea7027afebba",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Ermedin Demirovic to score",
      "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": "Cal Burrowes",
     "publisher": "Football Whispers",
     "forecaster": "Cal Burrowes",
     "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://footballwhispers.com/blog/stuttgart-vs-borussia-monchengladbach-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Ermedin Demirovic to score"
   }
  },
  {
   "record_id": "n-50431a8ae4371347d7a88346",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-50431a8ae4371347d7a88346",
   "match": "Burton Albion v Leyton Orient",
   "match_url": "/football/matches/burton-albion-vs-leyton-orient-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Burton Albion 1-1 Leyton Orient",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T09:41:00.000Z",
   "recorded_at": "2026-10-22T10:09:58.864Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.5500",
    "result": "Won",
    "points_hundredths": 15500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-50431a8ae4371347d7a88346",
    "quote_text": "We say: Burton Albion 1-1 Leyton Orient",
    "fragment_from": 4543,
    "fragment_to": 4582,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/leyton-orient/preview/burton-albion-vs-leyton-orient-prediction-team-news-lineups_607424.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "11fdae0cf2173fe1e95eb430ec36532ef1e5065f857e65c5105c2a4f74f8e84e",
     "material_removed": false
    },
    "published_at": "2026-10-22T09:41:00.000Z",
    "detected_at": "2026-10-22T10:09:58.864Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d135ec168aa5",
     "display_name": "Burton Albion — Leyton Orient",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/burton-albion-vs-leyton-orient-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Burton Albion 1-1 Leyton Orient",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T09:41:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T09:41:00.000Z",
     "detected_at": "2026-10-22T10:09:58.864Z",
     "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": "Correct score",
     "choice": "Burton Albion 1-1 Leyton Orient",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Burton Albion 1-1 Leyton Orient"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Burton Albion 2-1 Leyton Orient."
    },
    "settlements": [
     {
      "operation_id": "840f0241a98071561cad03d7e9e957ea535c7d0cc81f8628c6c739a139fe0a50",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:52:05.328Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/leyton-orient/preview/burton-albion-vs-leyton-orient-prediction-team-news-lineups_607424.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Burton Albion 1-1 Leyton Orient"
   }
  },
  {
   "record_id": "n-b062abb32d94f61de4a4832e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Stevenage 2-1 MK Dons",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T10:38:00.000Z",
   "recorded_at": "2026-10-22T11:10:02.853Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-ec9657259a735620218fbcde",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-ec9657259a735620218fbcde",
   "match": "Stoke City v Bristol City",
   "match_url": "/football/matches/stoke-city-vs-bristol-city-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 35.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Stoke City 1-1 Bristol City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T12:18:00.000Z",
   "recorded_at": "2026-10-23T02:10:26.071Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ec9657259a735620218fbcde",
    "quote_text": "We say: Stoke City 1-1 Bristol City",
    "fragment_from": 4498,
    "fragment_to": 4533,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/stoke-city/preview/stoke-vs-bristol-city-prediction-team-news-lineups_607450.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7ab0fa4b1c8684b17ba9d33b313427f747403407a7746c04d509a5187b3a970c",
     "material_removed": false
    },
    "published_at": "2026-10-22T12:18:00.000Z",
    "detected_at": "2026-10-23T02:10:26.071Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f7a16ed62571",
     "display_name": "Stoke City — Bristol City",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/stoke-city-vs-bristol-city-2026-10-24/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Stoke City 1-1 Bristol City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T12:18:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T12:18:00.000Z",
     "detected_at": "2026-10-23T02:10:26.071Z",
     "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": "Correct score",
     "choice": "Stoke City 1-1 Bristol City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Stoke City 1-1 Bristol City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Stoke City 0-0 Bristol City."
    },
    "settlements": [
     {
      "operation_id": "d17625445781b90b716e0136bfb71140b6e0ad6108fb961682dccd0eb585d725",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 23500,
      "executed_at": "2026-10-23T06:47:14.424Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/stoke-city/preview/stoke-vs-bristol-city-prediction-team-news-lineups_607450.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stoke City 1-1 Bristol City"
   }
  },
  {
   "record_id": "n-88bd2460529c03e1e64217ea",
   "url": "/authors/calum-burrowes/picks/6/#pick-n-88bd2460529c03e1e64217ea",
   "match": "Notts County v Stockport County",
   "match_url": "/football/matches/notts-county-vs-stockport-county-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 34.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Notts County 0-1 Stockport County",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T11:29:36.000Z",
   "recorded_at": "2026-10-23T03:10:36.042Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.5850",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-88bd2460529c03e1e64217ea",
    "quote_text": "We say: Notts County 0-1 Stockport County",
    "fragment_from": 4295,
    "fragment_to": 4336,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-stockport-prediction-team-news-lineups_607444.html",
     "display_name": null,
     "speaker": "Calum Burrowes",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5d7e49f44df535c48cac74fc9bd0a01dfdbb40a66a40954ffcd96365889fd62b",
     "material_removed": false
    },
    "published_at": "2026-10-22T11:29:36.000Z",
    "detected_at": "2026-10-23T03:10:36.042Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0e9ac87e2c45",
     "display_name": "Notts County — Stockport County",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/notts-county-vs-stockport-county-2026-10-24/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Notts County 0-1 Stockport County",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T11:29:36.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T11:29:36.000Z",
     "detected_at": "2026-10-23T03:10:36.042Z",
     "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": "Correct score",
     "choice": "Notts County 0-1 Stockport County",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Notts County 0-1 Stockport County"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Notts County 1-1 Stockport County."
    },
    "settlements": [
     {
      "operation_id": "af19335455543e9ff6d7b6751125376042e6640e4c39650829f0083e73b1f8b5",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Stockport County",
      "decimal_odds": "1.5900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:46:50.645Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Calum Burrowes",
     "publisher": "Sports Mole",
     "forecaster": "Calum Burrowes",
     "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.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-stockport-prediction-team-news-lineups_607444.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Notts County 0-1 Stockport County"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 144,
  "pages": 9,
  "page_urls": [
   "/authors/calum-burrowes/",
   "/authors/calum-burrowes/picks/2/",
   "/authors/calum-burrowes/picks/3/",
   "/authors/calum-burrowes/picks/4/",
   "/authors/calum-burrowes/picks/5/",
   "/authors/calum-burrowes/picks/6/",
   "/authors/calum-burrowes/picks/7/",
   "/authors/calum-burrowes/picks/8/",
   "/authors/calum-burrowes/picks/9/"
  ],
  "groups": {
   "settled": 23,
   "pending": 2,
   "excluded": 119
  },
  "continuation": "by_time",
  "page": 6,
  "first": 81,
  "last": 100,
  "author_url": "/authors/calum-burrowes/",
  "current": true
 },
 "entity_id": "history:/authors/calum-burrowes/picks/6/",
 "source_revision": 21
}
