{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/sam-varley/picks/3/",
 "canonical": "/authors/sam-varley/picks/3/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Sam Varley — football predictions, page 3 of 4",
 "description": "Predictions 21–40 of 57 by Sam Varley, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 3 of 4 of the predictions by Sam Varley recorded by Forecast Record: predictions 21–40 of 57 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": "57",
  "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-07T18:02:00.867Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "5e7a358c094cbe2d8751d9330b81bb787b11d5062966ff0895489de44abab0c4",
 "dependency_group": "author:e-83fcbe864bff5035a97ab42d",
 "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/sam-varley/picks/3/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-83fcbe864bff5035a97ab42d",
  "public_name": "Sam Varley",
  "tracker_number": 2103,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-10-02",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-502d8cf1e9d0dc129fbec216",
   "url": "/authors/sam-varley/picks/3/#pick-n-502d8cf1e9d0dc129fbec216",
   "match": "Barnsley v Cambridge United",
   "match_url": "/football/matches/barnsley-vs-cambridge-united-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 39.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Cambridge United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T21:26:43.000Z",
   "recorded_at": "2026-10-15T22:09:59.514Z",
   "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-502d8cf1e9d0dc129fbec216",
    "quote_text": "back Neil Harris's team to leave with all three points",
    "fragment_from": 5100,
    "fragment_to": 5154,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/barnsley/preview/barnsley-vs-cambridge-prediction-team-news-lineups_607004.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2d95c965dd6cfcb3c76dca41ba20c66681caae1f1d478f1738bdacf80374644a",
     "material_removed": false
    },
    "published_at": "2026-10-15T21:26:43.000Z",
    "detected_at": "2026-10-15T22:09:59.514Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-c4de21868386",
     "display_name": "Barnsley — Cambridge United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/barnsley-vs-cambridge-united-2026-10-17/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Cambridge 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": "win",
    "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-15T21:26:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T21:26:43.000Z",
     "detected_at": "2026-10-15T22:09:59.514Z",
     "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": "Cambridge United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Cambridge United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Barnsley 1-2 Cambridge United."
    },
    "settlements": [
     {
      "operation_id": "f992502185bcaed7673c87fa282947e79417c32d141c0406dfeaa5a3a7588f9f",
      "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": "Cambridge United",
      "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": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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/barnsley/preview/barnsley-vs-cambridge-prediction-team-news-lineups_607004.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United to win"
   }
  },
  {
   "record_id": "n-64f8bafd8d0f55cec967a031",
   "url": "/authors/sam-varley/picks/3/#pick-n-64f8bafd8d0f55cec967a031",
   "match": "Barnsley v Cambridge United",
   "match_url": "/football/matches/barnsley-vs-cambridge-united-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 39.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Barnsley 0-1 Cambridge United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-15T21:26:43.000Z",
   "recorded_at": "2026-10-15T22:09:59.514Z",
   "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-64f8bafd8d0f55cec967a031",
    "quote_text": "We say: Barnsley 0-1 Cambridge United",
    "fragment_from": 4751,
    "fragment_to": 4788,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/barnsley/preview/barnsley-vs-cambridge-prediction-team-news-lineups_607004.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2d95c965dd6cfcb3c76dca41ba20c66681caae1f1d478f1738bdacf80374644a",
     "material_removed": false
    },
    "published_at": "2026-10-15T21:26:43.000Z",
    "detected_at": "2026-10-15T22:09:59.514Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c4de21868386",
     "display_name": "Barnsley — Cambridge United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/barnsley-vs-cambridge-united-2026-10-17/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Barnsley 0-1 Cambridge 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-15T21:26:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T21:26:43.000Z",
     "detected_at": "2026-10-15T22:09:59.514Z",
     "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": "Barnsley 0-1 Cambridge United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Barnsley 0-1 Cambridge United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Barnsley 1-2 Cambridge United."
    },
    "settlements": [
     {
      "operation_id": "ae402773214675e24979d3b5e25b2348cd62621ecaa3a8fb10e6a98ac378f30f",
      "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": "Cambridge United",
      "decimal_odds": "2.5550",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15550,
      "executed_at": "2026-10-22T11:39:01.699Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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/barnsley/preview/barnsley-vs-cambridge-prediction-team-news-lineups_607004.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Barnsley 0-1 Cambridge United"
   }
  },
  {
   "record_id": "n-01ed39b33eb75342a62bd1e2",
   "url": "/authors/sam-varley/picks/3/#pick-n-01ed39b33eb75342a62bd1e2",
   "match": "Notts County v Sheffield Wednesday",
   "match_url": "/football/matches/notts-county-vs-sheffield-wednesday-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 47.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Notts County 0-2 Sheffield Wednesday",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-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-18T18:50:45.000Z",
   "recorded_at": "2026-10-18T19:10:15.289Z",
   "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-01ed39b33eb75342a62bd1e2",
    "quote_text": "We say: Notts County 0-2 Sheffield Wednesday",
    "fragment_from": 5266,
    "fragment_to": 5310,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-sheff-weds-prediction-team-news-lineups_607183.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7049f2250ae1865847800e0acd70865bf2219c0277a7977e03202bdbeea8b2aa",
     "material_removed": false
    },
    "published_at": "2026-10-18T18:50:45.000Z",
    "detected_at": "2026-10-18T19:10:15.289Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f7e39cea1589",
     "display_name": "Notts County — Sheffield Wednesday",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/notts-county-vs-sheffield-wednesday-2026-10-20/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Notts County 0-2 Sheffield Wednesday",
    "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-18T18:50:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T18:50:45.000Z",
     "detected_at": "2026-10-18T19:10:15.289Z",
     "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-2 Sheffield Wednesday",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Notts County 0-2 Sheffield Wednesday"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Notts County 2-0 Sheffield Wednesday."
    },
    "settlements": [
     {
      "operation_id": "d4647a4907eb0a3fe94647c953c4aff21d5cfe968996908ad548b76852af1cb5",
      "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": "Sheffield Wednesday",
      "decimal_odds": "2.2700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:03:03.635Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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-sheff-weds-prediction-team-news-lineups_607183.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Notts County 0-2 Sheffield Wednesday"
   }
  },
  {
   "record_id": "n-e5959e01bd521e5936e08391",
   "url": "/authors/sam-varley/picks/3/#pick-n-e5959e01bd521e5936e08391",
   "match": "Luton Town v Barnsley",
   "match_url": "/football/matches/luton-town-vs-barnsley-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 45.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Luton Town 2-0 Barnsley",
   "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-18T20:23:28.000Z",
   "recorded_at": "2026-10-18T21:10:07.731Z",
   "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-e5959e01bd521e5936e08391",
    "quote_text": "We say: Luton Town 2-0 Barnsley",
    "fragment_from": 4469,
    "fragment_to": 4500,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/luton-town/preview/luton-vs-barnsley-prediction-team-news-lineups_607187.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8dc2fa2881afd3b7fe9347ffc277d2da77f6395ebf0c384df6145b40dcb4e36f",
     "material_removed": false
    },
    "published_at": "2026-10-18T20:23:28.000Z",
    "detected_at": "2026-10-18T21:10:07.731Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e45f884d2296",
     "display_name": "Luton Town — Barnsley",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/luton-town-vs-barnsley-2026-10-20/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Luton Town 2-0 Barnsley",
    "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-18T20:23:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T20:23:28.000Z",
     "detected_at": "2026-10-18T21:10:07.731Z",
     "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": "Luton Town 2-0 Barnsley",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Luton Town 2-0 Barnsley"
    },
    "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 Luton Town 2-1 Barnsley."
    },
    "settlements": [
     {
      "operation_id": "582142f452b9b8ff3870ac7a94c6f2e752af1187ec8b799ccca4133d129416f1",
      "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": "Luton Town",
      "decimal_odds": "1.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-10-22T12:35:36.944Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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/luton-town/preview/luton-vs-barnsley-prediction-team-news-lineups_607187.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Luton Town 2-0 Barnsley"
   }
  },
  {
   "record_id": "n-22b3cc50f5a30d7b5a2be113",
   "url": "/authors/sam-varley/picks/3/#pick-n-22b3cc50f5a30d7b5a2be113",
   "match": "Inter v Shakhtar Donetsk",
   "match_url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 44.9,
   "market_code": "1x2",
   "author_said": "1X2, match result: Inter",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 1887,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.1887",
   "published_at": "2026-10-19T21:58:33.000Z",
   "recorded_at": "2026-10-19T22:04:17.834Z",
   "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": "1.1887",
    "result": "Won",
    "points_hundredths": 1887,
    "picked_favourite": true
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-22b3cc50f5a30d7b5a2be113",
    "quote_text": "Inter Milan to win at | Likelihood: Likely",
    "fragment_from": 5427,
    "fragment_to": 5469,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-shakhtar-donetsk-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "91392465e92a2ff1894acaa14be964c025c0b1c0cd497792ea78079b5b328c54",
     "material_removed": false
    },
    "published_at": "2026-10-19T21:58:33.000Z",
    "detected_at": "2026-10-19T22:04:17.834Z",
    "executed_at": "2026-10-21T00:37:08.894Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d3d27a7c8131",
     "display_name": "Inter — Shakhtar Donetsk",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Inter",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.1887",
     "our_snapshot_at": "2026-10-19T22:00:00.675Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 1887,
    "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-19T21:58:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T21:58:33.000Z",
     "detected_at": "2026-10-19T22:04:17.834Z",
     "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": "Inter",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Inter"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Inter 1-0 Shakhtar Donetsk."
    },
    "settlements": [
     {
      "operation_id": "f5e45a438984fd8f6aeba91e9f3e82d8b7116aa442ec0d7253b05702ba11c007",
      "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": "Inter",
      "decimal_odds": "1.1887",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 1887,
      "executed_at": "2026-10-21T00:37:08.894Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/inter-milan-vs-shakhtar-donetsk-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter to win"
   }
  },
  {
   "record_id": "n-5da06114412228f73ab6b391",
   "url": "/authors/sam-varley/picks/3/#pick-n-5da06114412228f73ab6b391",
   "match": "Inter v Shakhtar Donetsk",
   "match_url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 44.9,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.7",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.7",
   "settled_price": "1.7407",
   "published_at": "2026-10-19T21:58:33.000Z",
   "recorded_at": "2026-10-19T22:04:17.834Z",
   "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": "yes",
    "price": "1.7407",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-5da06114412228f73ab6b391",
    "quote_text": "Both Teams to Score at 7/10 (1.70)",
    "fragment_from": 5366,
    "fragment_to": 5400,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-shakhtar-donetsk-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "91392465e92a2ff1894acaa14be964c025c0b1c0cd497792ea78079b5b328c54",
     "material_removed": false
    },
    "published_at": "2026-10-19T21:58:33.000Z",
    "detected_at": "2026-10-19T22:04:17.834Z",
    "executed_at": "2026-10-21T00:37:08.879Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d3d27a7c8131",
     "display_name": "Inter — Shakhtar Donetsk",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.7",
     "our_snapshot": "1.7407",
     "our_snapshot_at": "2026-10-19T22:00:00.675Z",
     "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-19T21:58:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T21:58:33.000Z",
     "detected_at": "2026-10-19T22:04:17.834Z",
     "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.7",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.7"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Inter 1-0 Shakhtar Donetsk."
    },
    "settlements": [
     {
      "operation_id": "101af1a5c00060fc86628cc0a92f36915f36692f2ccb16c44ebfcc56164d9cd2",
      "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.7",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-21T00:37:08.483Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9df0dc47955bc2d261437762b0e7a191241f3c96f6f37bf9fe2e7c0bf804038b",
      "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.7407",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-21T00:37:08.879Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/inter-milan-vs-shakhtar-donetsk-prediction-21-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-9ee65fe4f032d7e27bba125a",
   "url": "/authors/sam-varley/picks/3/#pick-n-9ee65fe4f032d7e27bba125a",
   "match": "Inter v Shakhtar Donetsk",
   "match_url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 44.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 3-1 Shakhtar Donetsk",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-19T21:58:33.000Z",
   "recorded_at": "2026-10-19T22:04:17.834Z",
   "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": "1.1887",
    "result": "Won",
    "points_hundredths": 1887,
    "picked_favourite": true
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-9ee65fe4f032d7e27bba125a",
    "quote_text": "Whispers predicts: Inter Milan 3-1 Shakhtar Donetsk",
    "fragment_from": 4411,
    "fragment_to": 4462,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-shakhtar-donetsk-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "91392465e92a2ff1894acaa14be964c025c0b1c0cd497792ea78079b5b328c54",
     "material_removed": false
    },
    "published_at": "2026-10-19T21:58:33.000Z",
    "detected_at": "2026-10-19T22:04:17.834Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d3d27a7c8131",
     "display_name": "Inter — Shakhtar Donetsk",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 3-1 Shakhtar Donetsk",
    "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-19T21:58:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T21:58:33.000Z",
     "detected_at": "2026-10-19T22:04:17.834Z",
     "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": "Inter 3-1 Shakhtar Donetsk",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 3-1 Shakhtar Donetsk"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Inter 1-0 Shakhtar Donetsk."
    },
    "settlements": [
     {
      "operation_id": "eb8d058587843347b10c02ed56e277390e3f4eaf00ff60f4e58c793e2d98a2a3",
      "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": "Inter",
      "decimal_odds": "1.1887",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 1887,
      "executed_at": "2026-10-21T00:37:08.461Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/inter-milan-vs-shakhtar-donetsk-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 3-1 Shakhtar Donetsk"
   }
  },
  {
   "record_id": "n-e9e43e7738d105c6d6232dbb",
   "url": "/authors/sam-varley/picks/3/#pick-n-e9e43e7738d105c6d6232dbb",
   "match": "Inter v Shakhtar Donetsk",
   "match_url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 44.9,
   "market_code": "player_first_goal",
   "author_said": "Player to score first: Marcus Thuram to score first at 4.33",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": "1-0",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T21:58:33.000Z",
   "recorded_at": "2026-10-19T22:04:17.834Z",
   "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-e9e43e7738d105c6d6232dbb",
    "quote_text": "Marcus Thuram first goalscorer at 10/3 (4.33)",
    "fragment_from": 5473,
    "fragment_to": 5518,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-shakhtar-donetsk-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "91392465e92a2ff1894acaa14be964c025c0b1c0cd497792ea78079b5b328c54",
     "material_removed": false
    },
    "published_at": "2026-10-19T21:58:33.000Z",
    "detected_at": "2026-10-19T22:04:17.834Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d3d27a7c8131",
     "display_name": "Inter — Shakhtar Donetsk",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Player to score first",
    "outcome_label": "Marcus Thuram to score first",
    "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-19T21:58:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T21:58:33.000Z",
     "detected_at": "2026-10-19T22:04:17.834Z",
     "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 first",
     "choice": "Marcus Thuram to score first",
     "author_odds": "4.33",
     "market_key": "player_first_goal",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": null,
     "in_words": "Player to score first: Marcus Thuram to score first at 4.33"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": "1-0",
     "data_status": "unknown",
     "cause": "awaiting the final score",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting the final score."
    },
    "settlements": [
     {
      "operation_id": "4457f5aafdd6511936ffb29229cbcbb0935169424bee34d0f9f8e091e4ee9608",
      "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 first",
      "choice": "Marcus Thuram to score first",
      "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": false,
      "replaced": true
     },
     {
      "operation_id": "65207bdea11ac07266e320800c369756d3a6b7c290d9e4d98030972cbed1c199",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score first",
      "choice": "Marcus Thuram to score first",
      "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": false,
      "replaced": true
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/inter-milan-vs-shakhtar-donetsk-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Marcus Thuram to score first"
   }
  },
  {
   "record_id": "n-125aaf3b50c9b2f407a7d8dc",
   "url": "/authors/sam-varley/picks/3/#pick-n-125aaf3b50c9b2f407a7d8dc",
   "match": "Sturm Graz v Olympique de Marseille",
   "match_url": "/football/matches/sturm-graz-vs-olympique-de-marseille-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 43.7,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.6897",
   "published_at": "2026-10-20T21:02:13.000Z",
   "recorded_at": "2026-10-20T21:04:17.363Z",
   "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": "over",
    "price": "1.6897",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-125aaf3b50c9b2f407a7d8dc",
    "quote_text": "We fancy over 2.5 goals at 8/11 (1.73).",
    "fragment_from": 4637,
    "fragment_to": 4676,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sturm-graz-vs-marseille-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3df3a7af042201c9a8fa3cfc6bad1060549aeccefe6225568220ba9b49fc676",
     "material_removed": false
    },
    "published_at": "2026-10-20T21:02:13.000Z",
    "detected_at": "2026-10-20T21:04:17.363Z",
    "executed_at": "2026-10-22T00:44:01.703Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-42828e55f24a",
     "display_name": "Sturm Graz — Olympique de Marseille",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/sturm-graz-vs-olympique-de-marseille-2026-10-22/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.6897",
     "our_snapshot_at": "2026-10-20T21:00:39.255Z",
     "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-20T21:02:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T21:02:13.000Z",
     "detected_at": "2026-10-20T21:04:17.363Z",
     "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.73",
     "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.73"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Sturm Graz 1-0 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "68ae3dc42c26667661b5275fd5088f4896ea6ff89a61f9ddeadfe88d5c494976",
      "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.73",
      "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:44:00.069Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "70f545ce0f9c83d05151dfc3c539381b7e493bc70e895fd7dc5568a493cc5a24",
      "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": "1.6897",
      "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:44:01.703Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/sturm-graz-vs-marseille-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-18c14b4e666afa715a9bdafe",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We back the Algeria international to score anytime at 8/5 (2.60).",
   "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-20T21:02:13.000Z",
   "recorded_at": "2026-10-20T21:04:17.363Z",
   "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": "Football Whispers",
   "correction": null
  },
  {
   "record_id": "n-808b89b6eccd45c02ef463a0",
   "url": "/authors/sam-varley/picks/3/#pick-n-808b89b6eccd45c02ef463a0",
   "match": "Sturm Graz v Olympique de Marseille",
   "match_url": "/football/matches/sturm-graz-vs-olympique-de-marseille-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 43.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympique de Marseille at 2",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T21:02:13.000Z",
   "recorded_at": "2026-10-20T21:04:17.363Z",
   "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-808b89b6eccd45c02ef463a0",
    "quote_text": "We fancy them to overcome the hosts in Austria and win the game at 1/1 (2.00).",
    "fragment_from": 4848,
    "fragment_to": 4926,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sturm-graz-vs-marseille-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3df3a7af042201c9a8fa3cfc6bad1060549aeccefe6225568220ba9b49fc676",
     "material_removed": false
    },
    "published_at": "2026-10-20T21:02:13.000Z",
    "detected_at": "2026-10-20T21:04:17.363Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-42828e55f24a",
     "display_name": "Sturm Graz — Olympique de Marseille",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/sturm-graz-vs-olympique-de-marseille-2026-10-22/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympique de Marseille",
    "odds_set": {
     "by_author": "2",
     "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-20T21:02:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T21:02:13.000Z",
     "detected_at": "2026-10-20T21:04:17.363Z",
     "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 de Marseille",
     "author_odds": "2",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympique de Marseille at 2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Sturm Graz 1-0 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "2df02839c2301b971e80ea8447bb899d8fe5ec10d31326ee736f8ef87113454b",
      "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 de Marseille",
      "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": "e4ff88db0543793773c51792d0bcdbb846f7bf43ab27409ec03fb36818415973",
      "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 de Marseille",
      "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": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/sturm-graz-vs-marseille-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille to win"
   }
  },
  {
   "record_id": "n-215a926a0def95855a289a18",
   "url": "/authors/sam-varley/picks/3/#pick-n-215a926a0def95855a289a18",
   "match": "Dinamo Zagreb v NEC Nijmegen",
   "match_url": "/football/matches/dinamo-zagreb-vs-nec-nijmegen-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 42.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no at 2.2",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.2",
   "settled_price": "2.3000",
   "published_at": "2026-10-20T22:25:02.000Z",
   "recorded_at": "2026-10-20T22:34:17.351Z",
   "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": "yes",
    "price": "1.5600",
    "result": "Won",
    "points_hundredths": 5600,
    "picked_favourite": false
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-215a926a0def95855a289a18",
    "quote_text": "back Both Teams to Score – No at 6/5 (2.20).",
    "fragment_from": 4376,
    "fragment_to": 4420,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/dinamo-zagreb-vs-nec-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "abcd6cf9c9fc7b3ac2bd3ffcb9c25b82cb1f5f5c8b73af495223644a26994894",
     "material_removed": false
    },
    "published_at": "2026-10-20T22:25:02.000Z",
    "detected_at": "2026-10-20T22:34:17.351Z",
    "executed_at": "2026-10-22T00:43:36.280Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa41d073d7ee",
     "display_name": "Dinamo Zagreb — NEC Nijmegen",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/dinamo-zagreb-vs-nec-nijmegen-2026-10-22/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": "2.2",
     "our_snapshot": "2.3000",
     "our_snapshot_at": "2026-10-20T22:31:47.134Z",
     "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-20T22:25:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T22:25:02.000Z",
     "detected_at": "2026-10-20T22:34:17.351Z",
     "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.2",
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no at 2.2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Dinamo Zagreb 2-4 NEC Nijmegen."
    },
    "settlements": [
     {
      "operation_id": "7ff3ba1b66e0e44867f1f8a47bbc1f85313ed82f3511c0617f9f5bfda1f5fbda",
      "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.2",
      "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:43:35.558Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "635077552e7e292b401c88f46d8b396ed4da9a6c84073051ae1c1ed8bd5fc027",
      "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.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:43:36.280Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/dinamo-zagreb-vs-nec-prediction-22-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-292de571bffdb966ddd46217",
   "url": "/authors/sam-varley/picks/3/#pick-n-292de571bffdb966ddd46217",
   "match": "Dinamo Zagreb v NEC Nijmegen",
   "match_url": "/football/matches/dinamo-zagreb-vs-nec-nijmegen-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 42.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Dinamo Zagreb at 1.65",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.65",
   "settled_price": "1.6800",
   "published_at": "2026-10-20T22:25:02.000Z",
   "recorded_at": "2026-10-20T22:34:17.351Z",
   "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": "1.6800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-292de571bffdb966ddd46217",
    "quote_text": "Dinamo Zagreb are priced at 13/20 (1.65) to win the match.",
    "fragment_from": 4663,
    "fragment_to": 4721,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/dinamo-zagreb-vs-nec-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "abcd6cf9c9fc7b3ac2bd3ffcb9c25b82cb1f5f5c8b73af495223644a26994894",
     "material_removed": false
    },
    "published_at": "2026-10-20T22:25:02.000Z",
    "detected_at": "2026-10-20T22:34:17.351Z",
    "executed_at": "2026-10-22T00:43:36.426Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa41d073d7ee",
     "display_name": "Dinamo Zagreb — NEC Nijmegen",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/dinamo-zagreb-vs-nec-nijmegen-2026-10-22/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Dinamo Zagreb",
    "odds_set": {
     "by_author": "1.65",
     "our_snapshot": "1.6800",
     "our_snapshot_at": "2026-10-20T22:31:47.134Z",
     "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-20T22:25:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T22:25:02.000Z",
     "detected_at": "2026-10-20T22:34:17.351Z",
     "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": "Dinamo Zagreb",
     "author_odds": "1.65",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Dinamo Zagreb at 1.65"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Dinamo Zagreb 2-4 NEC Nijmegen."
    },
    "settlements": [
     {
      "operation_id": "43219e2ab0de4d4571c5ab274d186c0bf571def14fcc0424042c41655344019e",
      "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": "Dinamo Zagreb",
      "decimal_odds": "1.65",
      "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:43:36.407Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "629c135a2730b5c86ac5c23a856e812fcf56557b789c236b2277f01602e268ff",
      "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": "Dinamo Zagreb",
      "decimal_odds": "1.6800",
      "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:43:36.426Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/dinamo-zagreb-vs-nec-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Dinamo Zagreb to win"
   }
  },
  {
   "record_id": "n-45c8dec7dc5e1d3af2334799",
   "url": "/authors/sam-varley/picks/3/#pick-n-45c8dec7dc5e1d3af2334799",
   "match": "Dinamo Zagreb v NEC Nijmegen",
   "match_url": "/football/matches/dinamo-zagreb-vs-nec-nijmegen-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 42.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Dinamo Zagreb 2-0 NEC Nijmegen",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "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-20T22:25:02.000Z",
   "recorded_at": "2026-10-20T22:34:17.351Z",
   "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": "1.6800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-45c8dec7dc5e1d3af2334799",
    "quote_text": "Whispers predicts: Dinamo Zagreb 2-0 NEC",
    "fragment_from": 4033,
    "fragment_to": 4073,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/dinamo-zagreb-vs-nec-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "abcd6cf9c9fc7b3ac2bd3ffcb9c25b82cb1f5f5c8b73af495223644a26994894",
     "material_removed": false
    },
    "published_at": "2026-10-20T22:25:02.000Z",
    "detected_at": "2026-10-20T22:34:17.351Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa41d073d7ee",
     "display_name": "Dinamo Zagreb — NEC Nijmegen",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/dinamo-zagreb-vs-nec-nijmegen-2026-10-22/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Dinamo Zagreb 2-0 NEC Nijmegen",
    "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-20T22:25:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T22:25:02.000Z",
     "detected_at": "2026-10-20T22:34:17.351Z",
     "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": "Dinamo Zagreb 2-0 NEC Nijmegen",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Dinamo Zagreb 2-0 NEC Nijmegen"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Dinamo Zagreb 2-4 NEC Nijmegen."
    },
    "settlements": [
     {
      "operation_id": "bd22ac709db74a876fb3d36075bc23a370483522e47e367763aa3b6924b55e23",
      "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": "Dinamo Zagreb",
      "decimal_odds": "1.6800",
      "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:43:36.392Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/dinamo-zagreb-vs-nec-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Dinamo Zagreb 2-0 NEC Nijmegen"
   }
  },
  {
   "record_id": "n-6c7b073e3d931499bba11ba1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "is priced at 15/4 (4.75) to score first.",
   "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-20T22:25:02.000Z",
   "recorded_at": "2026-10-20T22:34:17.351Z",
   "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": "Football Whispers",
   "correction": null
  },
  {
   "record_id": "n-bc7981a148d06c17a5c24463",
   "url": "/authors/sam-varley/picks/3/#pick-n-bc7981a148d06c17a5c24463",
   "match": "Sheffield United v Derby County",
   "match_url": "/football/matches/sheffield-united-vs-derby-county-2026-10-24/",
   "kickoff": "2026-10-24T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 44.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sheffield United 2-0 Derby County",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "8.5000",
   "published_at": "2026-10-22T14:54:17.000Z",
   "recorded_at": "2026-10-22T15:10:00.724Z",
   "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": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bc7981a148d06c17a5c24463",
    "quote_text": "We say: Sheffield United 2-0 Derby County",
    "fragment_from": 4665,
    "fragment_to": 4706,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sheffield-united/preview/sheff-utd-vs-derby-prediction-team-news-lineups_607468.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3ea30e5a1f8e11a4012d02d0a0a0d2430511c527cb15a5d3109758b4f9aee8d6",
     "material_removed": false
    },
    "published_at": "2026-10-22T14:54:17.000Z",
    "detected_at": "2026-10-22T15:10:00.724Z",
    "executed_at": "2026-10-24T00:50:59.779Z",
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4e6b6009395a",
     "display_name": "Sheffield United — Derby County",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-24T11:30:00.000Z",
     "url": "/football/matches/sheffield-united-vs-derby-county-2026-10-24/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sheffield United 2-0 Derby County",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "8.5000",
     "our_snapshot_at": "2026-10-22T15:08:09.268Z",
     "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-22T14:54:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T14:54:17.000Z",
     "detected_at": "2026-10-22T15:10:00.724Z",
     "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": "Sheffield United 2-0 Derby County",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sheffield United 2-0 Derby 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 Sheffield United 1-1 Derby County."
    },
    "settlements": [
     {
      "operation_id": "12c04f4e1a93067daed344a5b7f2bdfb796be6d5dc6b46d118506f1ebac206bb",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Sheffield United 2-0 Derby County",
      "decimal_odds": "8.5000",
      "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:50:59.779Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "371ae6e60ade3bbbf9bf5b414ebd23c29c445b471b342028d30c6f90a50b2dd3",
      "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": "Sheffield United",
      "decimal_odds": "1.8400",
      "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:50:59.809Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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/sheffield-united/preview/sheff-utd-vs-derby-prediction-team-news-lineups_607468.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sheffield United 2-0 Derby County"
   }
  },
  {
   "record_id": "n-978f6a073b65c666655a3454",
   "url": "/authors/sam-varley/picks/3/#pick-n-978f6a073b65c666655a3454",
   "match": "Doncaster Rovers v Sheffield Wednesday",
   "match_url": "/football/matches/doncaster-rovers-vs-sheffield-wednesday-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 45.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Doncaster Rovers 1-2 Sheffield Wednesday",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-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-22T15:14:44.000Z",
   "recorded_at": "2026-10-22T16:10:08.893Z",
   "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.4000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-978f6a073b65c666655a3454",
    "quote_text": "We say: Doncaster Rovers 1-2 Sheffield Wednesday",
    "fragment_from": 4958,
    "fragment_to": 5006,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/preview/doncaster-vs-sheff-weds-prediction-team-news-lineups_607471.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a933ffbb4ff7aac57cf0f970930f376675b5efab43489ab228b3c8092329bdb5",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:14:44.000Z",
    "detected_at": "2026-10-22T16:10:08.893Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8d735794ad5e",
     "display_name": "Doncaster Rovers — Sheffield Wednesday",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/doncaster-rovers-vs-sheffield-wednesday-2026-10-24/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Doncaster Rovers 1-2 Sheffield Wednesday",
    "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-22T15:14:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:14:44.000Z",
     "detected_at": "2026-10-22T16:10:08.893Z",
     "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": "Doncaster Rovers 1-2 Sheffield Wednesday",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Doncaster Rovers 1-2 Sheffield Wednesday"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Doncaster Rovers 2-0 Sheffield Wednesday."
    },
    "settlements": [
     {
      "operation_id": "70861112fcba4d9d4ed1955be05e2cd76d27056a09c8c073d2f34e1d1640b212",
      "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": "Sheffield Wednesday",
      "decimal_odds": "2.4000",
      "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:50:22.166Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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/preview/doncaster-vs-sheff-weds-prediction-team-news-lineups_607471.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Doncaster Rovers 1-2 Sheffield Wednesday"
   }
  },
  {
   "record_id": "n-1c48e0b8e7ca87d37e6a2aec",
   "url": "/authors/sam-varley/picks/3/#pick-n-1c48e0b8e7ca87d37e6a2aec",
   "match": "Huddersfield Town v Wigan Athletic",
   "match_url": "/football/matches/huddersfield-town-vs-wigan-athletic-2026-10-24/",
   "kickoff": "2026-10-24T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 35.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Huddersfield Town 3-0 Wigan Athletic",
   "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-22T23:02:03.000Z",
   "recorded_at": "2026-10-23T00:10:13.572Z",
   "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": "1.3300",
    "result": "Won",
    "points_hundredths": 3300,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1c48e0b8e7ca87d37e6a2aec",
    "quote_text": "We say: Huddersfield Town 3-0 Wigan Athletic",
    "fragment_from": 4643,
    "fragment_to": 4687,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/huddersfield-town/preview/huddersfield-vs-wigan-prediction-team-news-lineups_607503.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "01a60980daeb34eb08a0bd2e78fdeac6146a7c7bef6c32c769d53fbf7f1e819b",
     "material_removed": false
    },
    "published_at": "2026-10-22T23:02:03.000Z",
    "detected_at": "2026-10-23T00:10:13.572Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-15ae92a397b7",
     "display_name": "Huddersfield Town — Wigan Athletic",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T11:30:00.000Z",
     "url": "/football/matches/huddersfield-town-vs-wigan-athletic-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Huddersfield Town 3-0 Wigan Athletic",
    "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-22T23:02:03.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T23:02:03.000Z",
     "detected_at": "2026-10-23T00:10:13.572Z",
     "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": "Huddersfield Town 3-0 Wigan Athletic",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Huddersfield Town 3-0 Wigan Athletic"
    },
    "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 Huddersfield Town 2-1 Wigan Athletic."
    },
    "settlements": [
     {
      "operation_id": "17c6f59d41651ec9f2c293c64ff5b6ff77180433b2635aacb920ee231e13b4f6",
      "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": "Huddersfield Town",
      "decimal_odds": "1.3300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3300,
      "executed_at": "2026-10-23T06:48:11.003Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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/huddersfield-town/preview/huddersfield-vs-wigan-prediction-team-news-lineups_607503.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Huddersfield Town 3-0 Wigan Athletic"
   }
  },
  {
   "record_id": "n-5f80cc5bf44fe835c96ce675",
   "url": "/authors/sam-varley/picks/3/#pick-n-5f80cc5bf44fe835c96ce675",
   "match": "Oxford United v Bradford City",
   "match_url": "/football/matches/oxford-united-vs-bradford-city-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 30.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Oxford United 1-1 Bradford 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-23T06:52:00.000Z",
   "recorded_at": "2026-10-23T07:09:55.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.5500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5f80cc5bf44fe835c96ce675",
    "quote_text": "We say: Oxford United 1-1 Bradford City",
    "fragment_from": 4806,
    "fragment_to": 4845,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-bradford-prediction-team-news-lineups_607507.html",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "313a64a849a3538ca86e9e09ed954ec7576b8c20e6359193c4508c41d36024a8",
     "material_removed": false
    },
    "published_at": "2026-10-23T06:52:00.000Z",
    "detected_at": "2026-10-23T07:09:55.754Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5f9af0cf4abb",
     "display_name": "Oxford United — Bradford City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/oxford-united-vs-bradford-city-2026-10-24/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Oxford United 1-1 Bradford 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-23T06:52:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T06:52:00.000Z",
     "detected_at": "2026-10-23T07:09:55.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": "Oxford United 1-1 Bradford City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Oxford United 1-1 Bradford 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 Oxford United 0-0 Bradford City."
    },
    "settlements": [
     {
      "operation_id": "83027c3a84747eb7358f2f5ea6459b5bf4f3e6c449e2f439309247d43ad5865c",
      "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.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 22500,
      "executed_at": "2026-10-24T09:36:41.561Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Sports Mole",
     "forecaster": "Sam Varley",
     "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/oxford-united/preview/oxford-utd-vs-bradford-prediction-team-news-lineups_607507.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Oxford United 1-1 Bradford City"
   }
  },
  {
   "record_id": "n-3316953968296a401a74cdf2",
   "url": "/authors/sam-varley/picks/3/#pick-n-3316953968296a401a74cdf2",
   "match": "Bradford City v Peterborough United",
   "match_url": "/football/matches/bradford-city-vs-peterborough-united-2026-10-27/",
   "kickoff": "2026-10-27T19:45:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 51.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 1.95",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9804,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.95",
   "settled_price": "1.9804",
   "published_at": "2026-10-25T16:37:40.000Z",
   "recorded_at": "2026-10-25T16:44:17.300Z",
   "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": "over",
    "price": "1.8197",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": "Football Whispers",
   "correction": null,
   "evidence": {
    "observation_id": "n-3316953968296a401a74cdf2",
    "quote_text": "we fancy them to stand strong and back under 2.5 goals at 19/20 (1.95)",
    "fragment_from": 5193,
    "fragment_to": 5263,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/bradford-city-vs-peterborough-united-prediction-27-10-2026/",
     "display_name": null,
     "speaker": "Sam Varley",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "71badf83f0832efd979016acd269e89e927adf2c29dbc68ce06582f5414d8430",
     "material_removed": false
    },
    "published_at": "2026-10-25T16:37:40.000Z",
    "detected_at": "2026-10-25T16:44:17.300Z",
    "executed_at": "2026-10-27T10:06:34.168Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-80e601bc06f7",
     "display_name": "Bradford City — Peterborough United",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-27T19:45:00.000Z",
     "url": "/football/matches/bradford-city-vs-peterborough-united-2026-10-27/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": "1.9804",
     "our_snapshot_at": "2026-10-25T16:40:10.280Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 9804,
    "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-25T16:37:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T16:37:40.000Z",
     "detected_at": "2026-10-25T16:44:17.300Z",
     "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": "1.95",
     "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 1.95"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Bradford City 2-0 Peterborough United."
    },
    "settlements": [
     {
      "operation_id": "0486b95572403bc030483ce2a1a92683d9ab38d456d92ccc6b4907742da9410b",
      "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": "1.95",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9500,
      "executed_at": "2026-10-27T10:06:33.081Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "bcb4a6ecf3a9fb7020b1ade5b5883ef0f8276328792aba65f49b1f687ee5b76d",
      "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": "1.9804",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9804,
      "executed_at": "2026-10-27T10:06:34.168Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Sam Varley",
     "publisher": "Football Whispers",
     "forecaster": "Sam Varley",
     "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/bradford-city-vs-peterborough-united-prediction-27-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)"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 57,
  "pages": 4,
  "page_urls": [
   "/authors/sam-varley/",
   "/authors/sam-varley/picks/2/",
   "/authors/sam-varley/picks/3/",
   "/authors/sam-varley/picks/4/"
  ],
  "groups": {
   "settled": 11,
   "pending": 0,
   "excluded": 46
  },
  "continuation": "by_time",
  "page": 3,
  "first": 21,
  "last": 40,
  "author_url": "/authors/sam-varley/",
  "current": false
 },
 "entity_id": "history:/authors/sam-varley/picks/3/",
 "source_revision": 19
}
