{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/kelechi-udoka/picks/19/",
 "canonical": "/authors/kelechi-udoka/picks/19/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Kelechi Udoka — football predictions, page 19 of 21",
 "description": "Predictions 341–360 of 398 by Kelechi Udoka, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 19 of 21 of the predictions by Kelechi Udoka recorded by Forecast Record: predictions 341–360 of 398 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": "398",
  "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:06:54.100Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "db602c4c94d5b4cd5b1097e0e87de04ded7b500154aacc7e5978957a590eb481",
 "dependency_group": "author:e-a7d4e266b91ebad959eade40",
 "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/kelechi-udoka/picks/19/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-a7d4e266b91ebad959eade40",
  "public_name": "Kelechi Udoka",
  "tracker_number": 1044,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-25",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-6629829a02d4054cfc872bc5",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-6629829a02d4054cfc872bc5",
   "match": "AEK Athens v Real Madrid",
   "match_url": "/football/matches/aek-athens-vs-real-madrid-2026-11-04/",
   "kickoff": "2026-11-04T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.0,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Real Madrid win, both teams to score: yes at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 12750,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.25",
   "settled_price": "2.2750",
   "published_at": "2026-11-03T05:31:17.000Z",
   "recorded_at": "2026-11-03T05:44:17.342Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-6629829a02d4054cfc872bc5",
    "quote_text": "> Real Madrid & BTTS – Yes at 5/4 (2.25) | Likelihood: Probable",
    "fragment_from": 5170,
    "fragment_to": 5233,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aek-athens-vs-real-madrid-prediction-04-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "174b1f78c4c539107549c04a30c1b622812e10144e68532342148ea0f7daae3c",
     "material_removed": false
    },
    "published_at": "2026-11-03T05:31:17.000Z",
    "detected_at": "2026-11-03T05:44:17.342Z",
    "executed_at": "2026-11-03T05:48:02.685Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c654ce8fca9d",
     "display_name": "AEK Athens — Real Madrid",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T17:45:00.000Z",
     "url": "/football/matches/aek-athens-vs-real-madrid-2026-11-04/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Real Madrid win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": "2.2750",
     "our_snapshot_at": "2026-11-03T05:43:43.929Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 12750,
    "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-11-03T05:31:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T05:31:17.000Z",
     "detected_at": "2026-11-03T05:44:17.342Z",
     "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": "Match result and both teams to score",
     "choice": "Real Madrid win, both teams to score: yes",
     "author_odds": "2.25",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Real Madrid win, both teams to score: yes at 2.25"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was AEK Athens 2-3 Real Madrid."
    },
    "settlements": [
     {
      "operation_id": "a3af0b4224d6946d2b54bf645eec72cad5153a37f8d4a6ea5b9ebe67941830db",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Real Madrid win, both teams to score: yes",
      "decimal_odds": "2.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12500,
      "executed_at": "2026-11-03T05:48:01.296Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9cb97f048cc5c917672aa58233b8e9e55c8b932340d3a16bbbd3cd8253a50eaa",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Real Madrid win, both teams to score: yes",
      "decimal_odds": "2.2750",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12750,
      "executed_at": "2026-11-03T05:48:02.685Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/aek-athens-vs-real-madrid-prediction-04-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Madrid win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-f6645b97791bc2bd40514286",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-f6645b97791bc2bd40514286",
   "match": "AEK Athens v Real Madrid",
   "match_url": "/football/matches/aek-athens-vs-real-madrid-2026-11-04/",
   "kickoff": "2026-11-04T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.0,
   "market_code": "total",
   "author_said": "Over/Under 3.5 goals: over 3.5 at 1.8",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.8",
   "settled_price": "1.8000",
   "published_at": "2026-11-03T05:31:17.000Z",
   "recorded_at": "2026-11-03T05:44:17.342Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-f6645b97791bc2bd40514286",
    "quote_text": "> Over 3.5 total goals at 4/5 (1.80) | Likelihood: Probable",
    "fragment_from": 4993,
    "fragment_to": 5052,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aek-athens-vs-real-madrid-prediction-04-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "174b1f78c4c539107549c04a30c1b622812e10144e68532342148ea0f7daae3c",
     "material_removed": false
    },
    "published_at": "2026-11-03T05:31:17.000Z",
    "detected_at": "2026-11-03T05:44:17.342Z",
    "executed_at": "2026-11-03T05:48:09.977Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c654ce8fca9d",
     "display_name": "AEK Athens — Real Madrid",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T17:45:00.000Z",
     "url": "/football/matches/aek-athens-vs-real-madrid-2026-11-04/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 3.5 goals",
    "outcome_label": "over 3.5",
    "odds_set": {
     "by_author": "1.8",
     "our_snapshot": "1.8000",
     "our_snapshot_at": "2026-11-03T05:41:09.003Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 8000,
    "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-11-03T05:31:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T05:31:17.000Z",
     "detected_at": "2026-11-03T05:44:17.342Z",
     "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 3.5 goals",
     "choice": "over 3.5",
     "author_odds": "1.8",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "3.5",
     "subject": "goals_total",
     "in_words": "Over/Under 3.5 goals: over 3.5 at 1.8"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was AEK Athens 2-3 Real Madrid."
    },
    "settlements": [
     {
      "operation_id": "939ed25b28b91c57575adb607589649d8ba45fcd7877a2b6b5113539a9bf1b8f",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "over 3.5",
      "decimal_odds": "1.8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-11-03T05:48:02.858Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1cd40d832b46ea28f22e40937857aec3b28bda65d74104eb76bdf41c89171539",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "over 3.5",
      "decimal_odds": "1.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-11-03T05:48:09.977Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/aek-athens-vs-real-madrid-prediction-04-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 3.5 (Over/Under 3.5 goals)"
   }
  },
  {
   "record_id": "n-51cbaeda5d0f83cc3a46c125",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Real Betis to score first at 7/5 (2.40) | Likelihood: Probable",
   "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-11-03T07:27:28.000Z",
   "recorded_at": "2026-11-03T07:34:17.177Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-721cd492edbdfbd00e321a18",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-721cd492edbdfbd00e321a18",
   "match": "Borussia Dortmund v Real Betis",
   "match_url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
   "kickoff": "2026-11-04T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 4.3",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "4.3",
   "settled_price": "4.1300",
   "published_at": "2026-11-03T07:27:28.000Z",
   "recorded_at": "2026-11-03T07:34:17.177Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-721cd492edbdfbd00e321a18",
    "quote_text": "> Match result: Draw at 33/10 (4.30) | Likelihood: Possible",
    "fragment_from": 4575,
    "fragment_to": 4634,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/borussia-dortmund-vs-real-betis-prediction-04-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "972a27f88561469ad4aeca7b6cc67c298efeda5ad25c2cde2c1c3d8bae213c5e",
     "material_removed": false
    },
    "published_at": "2026-11-03T07:27:28.000Z",
    "detected_at": "2026-11-03T07:34:17.177Z",
    "executed_at": "2026-11-07T09:35:08.558Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f45b0ac9f3ae",
     "display_name": "Borussia Dortmund — Real Betis",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T20:00:00.000Z",
     "url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "4.3",
     "our_snapshot": "4.1300",
     "our_snapshot_at": "2026-11-03T07:33:47.715Z",
     "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-11-03T07:27:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T07:27:28.000Z",
     "detected_at": "2026-11-03T07:34:17.177Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "4.3",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 4.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Borussia Dortmund 2-1 Real Betis."
    },
    "settlements": [
     {
      "operation_id": "759f7565ad19cfa2daffc0ff41e89413c28592b932c3d98f2ef8ae085de9d8cc",
      "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": "draw",
      "decimal_odds": "4.3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:35:08.481Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "05f896bc9639b3d527a08538a77390bc6ab02d020ff6de9e2642474501c0c1a3",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.1300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:35:08.558Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/borussia-dortmund-vs-real-betis-prediction-04-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-8223186551695cfb531192df",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-8223186551695cfb531192df",
   "match": "Borussia Dortmund v Real Betis",
   "match_url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
   "kickoff": "2026-11-04T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.55",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.55",
   "settled_price": "1.5000",
   "published_at": "2026-11-03T07:27:28.000Z",
   "recorded_at": "2026-11-03T07:34:17.177Z",
   "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.5000",
    "result": "Won",
    "points_hundredths": 5000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-8223186551695cfb531192df",
    "quote_text": "> Over 2.5 total goals at 11/20 (1.55) | Likelihood: Probable",
    "fragment_from": 4459,
    "fragment_to": 4520,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/borussia-dortmund-vs-real-betis-prediction-04-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "972a27f88561469ad4aeca7b6cc67c298efeda5ad25c2cde2c1c3d8bae213c5e",
     "material_removed": false
    },
    "published_at": "2026-11-03T07:27:28.000Z",
    "detected_at": "2026-11-03T07:34:17.177Z",
    "executed_at": "2026-11-03T07:39:13.252Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f45b0ac9f3ae",
     "display_name": "Borussia Dortmund — Real Betis",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T20:00:00.000Z",
     "url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.55",
     "our_snapshot": "1.5000",
     "our_snapshot_at": "2026-11-03T07:30:25.727Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5000,
    "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-11-03T07:27:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T07:27:28.000Z",
     "detected_at": "2026-11-03T07:34:17.177Z",
     "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.55",
     "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.55"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Borussia Dortmund 2-1 Real Betis."
    },
    "settlements": [
     {
      "operation_id": "fa9b2934f7afc5addaf9e1bdecd4b96d7c7f6add2e984847fa8b9629a5f293e9",
      "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.55",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5500,
      "executed_at": "2026-11-03T07:39:12.533Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "773e67d6d1ab7313cc04cd1f94625bda74ddca19f340a2f10e0e6f01f45d162f",
      "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.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-11-03T07:39:13.252Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/borussia-dortmund-vs-real-betis-prediction-04-11-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-90ec926b6499af4149bed804",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-90ec926b6499af4149bed804",
   "match": "Borussia Dortmund v Real Betis",
   "match_url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
   "kickoff": "2026-11-04T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Borussia Dortmund 2-2 Real Betis at 13",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "13",
   "settled_price": "11.0000",
   "published_at": "2026-11-03T07:27:28.000Z",
   "recorded_at": "2026-11-03T07:34:17.177Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-90ec926b6499af4149bed804",
    "quote_text": "> Correct Score: 2-2 at 12/1 (13.00) | Likelihood: Outsider",
    "fragment_from": 4702,
    "fragment_to": 4761,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/borussia-dortmund-vs-real-betis-prediction-04-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "972a27f88561469ad4aeca7b6cc67c298efeda5ad25c2cde2c1c3d8bae213c5e",
     "material_removed": false
    },
    "published_at": "2026-11-03T07:27:28.000Z",
    "detected_at": "2026-11-03T07:34:17.177Z",
    "executed_at": "2026-11-07T09:35:08.287Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f45b0ac9f3ae",
     "display_name": "Borussia Dortmund — Real Betis",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T20:00:00.000Z",
     "url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Borussia Dortmund 2-2 Real Betis",
    "odds_set": {
     "by_author": "13",
     "our_snapshot": "11.0000",
     "our_snapshot_at": "2026-11-03T07:33:47.715Z",
     "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-11-03T07:27:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T07:27:28.000Z",
     "detected_at": "2026-11-03T07:34:17.177Z",
     "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": "Borussia Dortmund 2-2 Real Betis",
     "author_odds": "13",
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Borussia Dortmund 2-2 Real Betis at 13"
    },
    "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 Borussia Dortmund 2-1 Real Betis."
    },
    "settlements": [
     {
      "operation_id": "9d9368577032a12d1802978cbd642d1ca6cf251616f289d8bc47e20e1cb70df5",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Borussia Dortmund 2-2 Real Betis",
      "decimal_odds": "13",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:35:07.829Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c2e3ad10832ffe7b9083bb0b08355b505f32637a3daa1c08b700883c17675e0d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Borussia Dortmund 2-2 Real Betis",
      "decimal_odds": "11.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:35:08.287Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/borussia-dortmund-vs-real-betis-prediction-04-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Borussia Dortmund 2-2 Real Betis"
   }
  },
  {
   "record_id": "n-dd39fe6113d0ac66f15169a2",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-dd39fe6113d0ac66f15169a2",
   "match": "Borussia Dortmund v Real Betis",
   "match_url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
   "kickoff": "2026-11-04T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.55",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4900,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.55",
   "settled_price": "1.4900",
   "published_at": "2026-11-03T07:27:28.000Z",
   "recorded_at": "2026-11-03T07:34:17.177Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-dd39fe6113d0ac66f15169a2",
    "quote_text": "> BTTS – Yes at 11/20 (1.55) | Likelihood: Probable",
    "fragment_from": 4522,
    "fragment_to": 4573,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/borussia-dortmund-vs-real-betis-prediction-04-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "972a27f88561469ad4aeca7b6cc67c298efeda5ad25c2cde2c1c3d8bae213c5e",
     "material_removed": false
    },
    "published_at": "2026-11-03T07:27:28.000Z",
    "detected_at": "2026-11-03T07:34:17.177Z",
    "executed_at": "2026-11-07T09:35:08.451Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f45b0ac9f3ae",
     "display_name": "Borussia Dortmund — Real Betis",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T20:00:00.000Z",
     "url": "/football/matches/borussia-dortmund-vs-real-betis-2026-11-04/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.55",
     "our_snapshot": "1.4900",
     "our_snapshot_at": "2026-11-03T07:33:47.715Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4900,
    "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-11-03T07:27:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T07:27:28.000Z",
     "detected_at": "2026-11-03T07:34:17.177Z",
     "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.55",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.55"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Borussia Dortmund 2-1 Real Betis."
    },
    "settlements": [
     {
      "operation_id": "02fb37df6a7a2eac3b362656be1da22e5338bc91c32f0012253a607e999b75b0",
      "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.55",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5500,
      "executed_at": "2026-11-07T09:35:08.378Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6f506b31d4bed830b1f666813583d9f2c82d6c09045205d533703a3e7f64da68",
      "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.4900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4900,
      "executed_at": "2026-11-07T09:35:08.451Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/borussia-dortmund-vs-real-betis-prediction-04-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-113962d12e75351a96c15947",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-113962d12e75351a96c15947",
   "match": "Real Sociedad v Olympique Lyonnais",
   "match_url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 35.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Real Sociedad 2-1 Olympique Lyonnais",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-04T06:18:09.000Z",
   "recorded_at": "2026-11-04T06:34:18.124Z",
   "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.8197",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-113962d12e75351a96c15947",
    "quote_text": "Whispers Predicts: Real Sociedad 2-1 Lyon",
    "fragment_from": 3253,
    "fragment_to": 3294,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d7d5fae5e4197e064517f96494f0f46c69dfdd7f13333a878b57f024268bdbba",
     "material_removed": false
    },
    "published_at": "2026-11-04T06:18:09.000Z",
    "detected_at": "2026-11-04T06:34:18.124Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7186b2d06586",
     "display_name": "Real Sociedad — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Real Sociedad 2-1 Olympique Lyonnais",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-04T06:18:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T06:18:09.000Z",
     "detected_at": "2026-11-04T06:34:18.124Z",
     "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": "Real Sociedad 2-1 Olympique Lyonnais",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Real Sociedad 2-1 Olympique Lyonnais"
    },
    "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 Real Sociedad 1-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "fa996e37e49ec049bf5a97e96e2893c1a7759ea35409513709bce897ef031d45",
      "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": "Real Sociedad",
      "decimal_odds": "1.8197",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T07:08:20.832Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Sociedad 2-1 Olympique Lyonnais"
   }
  },
  {
   "record_id": "n-c254d5ab3f5241336f4f0128",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-c254d5ab3f5241336f4f0128",
   "match": "Real Sociedad v Olympique Lyonnais",
   "match_url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 35.2,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Real Sociedad win, both teams to score: yes at 3.2",
   "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": "3.2",
   "settled_price": "3.1500",
   "published_at": "2026-11-04T06:18:09.000Z",
   "recorded_at": "2026-11-04T06:34:18.124Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-c254d5ab3f5241336f4f0128",
    "quote_text": "> Real Sociedad & BTTS – Yes at 11/5 (3.20) | Likelihood: Possible",
    "fragment_from": 4202,
    "fragment_to": 4268,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d7d5fae5e4197e064517f96494f0f46c69dfdd7f13333a878b57f024268bdbba",
     "material_removed": false
    },
    "published_at": "2026-11-04T06:18:09.000Z",
    "detected_at": "2026-11-04T06:34:18.124Z",
    "executed_at": "2026-11-04T07:08:20.636Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7186b2d06586",
     "display_name": "Real Sociedad — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Real Sociedad win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.2",
     "our_snapshot": "3.1500",
     "our_snapshot_at": "2026-11-04T06:30:41.062Z",
     "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-11-04T06:18:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T06:18:09.000Z",
     "detected_at": "2026-11-04T06:34:18.124Z",
     "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": "Match result and both teams to score",
     "choice": "Real Sociedad win, both teams to score: yes",
     "author_odds": "3.2",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Real Sociedad win, both teams to score: yes at 3.2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Real Sociedad 1-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "4be4e7c1420a39471392a9cc7f436c54fab3c2c6477b0b3d495538441875520b",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Real Sociedad win, both teams to score: yes",
      "decimal_odds": "3.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T07:08:20.530Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "53be0c4c234049cc48329f9ba83c23550d5d5ba1682d894dae7fd1c042637787",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Real Sociedad win, both teams to score: yes",
      "decimal_odds": "3.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T07:08:20.636Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Sociedad win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-c64a8e54d98b7e6d9f9a0fb4",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-c64a8e54d98b7e6d9f9a0fb4",
   "match": "Real Sociedad v Olympique Lyonnais",
   "match_url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 35.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.57",
   "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": "1.57",
   "settled_price": "1.5495",
   "published_at": "2026-11-04T06:18:09.000Z",
   "recorded_at": "2026-11-04T06:34:18.124Z",
   "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.5495",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-c64a8e54d98b7e6d9f9a0fb4",
    "quote_text": "> Over 2.5 total goals at 4/7 (1.57) | Likelihood: Probable",
    "fragment_from": 4021,
    "fragment_to": 4080,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d7d5fae5e4197e064517f96494f0f46c69dfdd7f13333a878b57f024268bdbba",
     "material_removed": false
    },
    "published_at": "2026-11-04T06:18:09.000Z",
    "detected_at": "2026-11-04T06:34:18.124Z",
    "executed_at": "2026-11-04T07:08:13.946Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7186b2d06586",
     "display_name": "Real Sociedad — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5495",
     "our_snapshot_at": "2026-11-04T06:33:13.439Z",
     "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-11-04T06:18:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T06:18:09.000Z",
     "detected_at": "2026-11-04T06:34:18.124Z",
     "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.57",
     "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.57"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Real Sociedad 1-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "2bcbcedbc5c5b84659fd5dec9ac95b1f335e0f789b92f2abf96ba5401704f931",
      "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.57",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T07:08:05.926Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "f35c868d3273a0802679d93b8e0a42ca7e970666ed7c835ec871db5bc7e5f485",
      "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.5495",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T07:08:13.946Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/real-sociedad-vs-lyon-prediction-05-11-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-e98ce130832d6bf9f4025103",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-e98ce130832d6bf9f4025103",
   "match": "Real Sociedad v Olympique Lyonnais",
   "match_url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 35.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.6",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5263,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.6",
   "settled_price": "1.5263",
   "published_at": "2026-11-04T06:18:09.000Z",
   "recorded_at": "2026-11-04T06:34:18.124Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-e98ce130832d6bf9f4025103",
    "quote_text": "> BTTS – Yes at 3/5 (1.60) | Likelihood: Probable",
    "fragment_from": 4082,
    "fragment_to": 4131,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d7d5fae5e4197e064517f96494f0f46c69dfdd7f13333a878b57f024268bdbba",
     "material_removed": false
    },
    "published_at": "2026-11-04T06:18:09.000Z",
    "detected_at": "2026-11-04T06:34:18.124Z",
    "executed_at": "2026-11-07T09:28:25.274Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7186b2d06586",
     "display_name": "Real Sociedad — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.6",
     "our_snapshot": "1.5263",
     "our_snapshot_at": "2026-11-04T06:33:13.439Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5263,
    "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-11-04T06:18:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T06:18:09.000Z",
     "detected_at": "2026-11-04T06:34:18.124Z",
     "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.6",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.6"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Sociedad 1-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "2306182d326865cb3a80a61d93ea28283aa0c0982c0114cb9533a6033068ec87",
      "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.6",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6000,
      "executed_at": "2026-11-07T09:28:21.309Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "35ba9c07de97261c71d2478f09a77c207fc1aa68c06d16ce17af0581c737c030",
      "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.5263",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5263,
      "executed_at": "2026-11-07T09:28:25.274Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-f80e1d19544410d2fef12964",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-f80e1d19544410d2fef12964",
   "match": "Real Sociedad v Olympique Lyonnais",
   "match_url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 35.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Real Sociedad at 1.9",
   "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": "1.9",
   "settled_price": "1.8197",
   "published_at": "2026-11-04T06:18:09.000Z",
   "recorded_at": "2026-11-04T06:34:18.124Z",
   "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.8197",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-f80e1d19544410d2fef12964",
    "quote_text": "> Match result: Real Sociedad at 9/10 (1.90) | Likelihood: Probable",
    "fragment_from": 4133,
    "fragment_to": 4200,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d7d5fae5e4197e064517f96494f0f46c69dfdd7f13333a878b57f024268bdbba",
     "material_removed": false
    },
    "published_at": "2026-11-04T06:18:09.000Z",
    "detected_at": "2026-11-04T06:34:18.124Z",
    "executed_at": "2026-11-04T07:08:20.497Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7186b2d06586",
     "display_name": "Real Sociedad — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Real Sociedad",
    "odds_set": {
     "by_author": "1.9",
     "our_snapshot": "1.8197",
     "our_snapshot_at": "2026-11-04T06:33:13.439Z",
     "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-11-04T06:18:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T06:18:09.000Z",
     "detected_at": "2026-11-04T06:34:18.124Z",
     "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": "Real Sociedad",
     "author_odds": "1.9",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Real Sociedad at 1.9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Real Sociedad 1-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "a78c19c3ff0dc743fb3a08d9bd729e95fadb569fc92a64e6715d7da4b61c322e",
      "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": "Real Sociedad",
      "decimal_odds": "1.9",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T07:08:14.011Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ca8ce64ffcb104137cff0d6eb146172b4292811b946a645343b2ac50b9727b7f",
      "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": "Real Sociedad",
      "decimal_odds": "1.8197",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T07:08:20.497Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/real-sociedad-vs-lyon-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Sociedad to win"
   }
  },
  {
   "record_id": "n-2aa7c33fe87cbfa09be25bdf",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-2aa7c33fe87cbfa09be25bdf",
   "match": "Celta Vigo v Union St. Gilloise",
   "match_url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 36.6,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6897,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.6897",
   "published_at": "2026-11-04T07:11:54.000Z",
   "recorded_at": "2026-11-04T07:24:17.400Z",
   "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": "Won",
    "points_hundredths": 6897,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-2aa7c33fe87cbfa09be25bdf",
    "quote_text": "Over 2.5 total goals at 8/11 (1.73)",
    "fragment_from": 4537,
    "fragment_to": 4572,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celta-vigo-vs-union-saint-gilloise-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "26c445095a6d2109b990717e54ba47f38fc3ece28acade683b89bba317c30761",
     "material_removed": false
    },
    "published_at": "2026-11-04T07:11:54.000Z",
    "detected_at": "2026-11-04T07:24:17.400Z",
    "executed_at": "2026-11-04T07:35:48.139Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e5ece912019d",
     "display_name": "Celta Vigo — Union St. Gilloise",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
     "scoreline": "1-2",
     "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-11-04T07:23:52.758Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6897,
    "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-11-04T07:11:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T07:11:54.000Z",
     "detected_at": "2026-11-04T07:24:17.400Z",
     "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": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Celta Vigo 1-2 Union St. Gilloise."
    },
    "settlements": [
     {
      "operation_id": "c4303b4518d5b2579648d98f8b8daf117ce8f45b7b0a8057d21b868dc14d5d56",
      "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": "win",
      "result_words": "Won",
      "change_hundredths": 7300,
      "executed_at": "2026-11-04T07:35:34.162Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "f19b550d51ffac13def63758d543bdcfae6950a93eb22fad5a1e872619f5a8a5",
      "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": "win",
      "result_words": "Won",
      "change_hundredths": 6897,
      "executed_at": "2026-11-04T07:35:48.139Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/celta-vigo-vs-union-saint-gilloise-prediction-05-11-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-56da0848167729711d6e66ea",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We also fancy Union Saint-Gilloise to score first at 11/10 (2.10), as was the case in three of the visiting team's last four fixtures.",
   "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-11-04T07:11:54.000Z",
   "recorded_at": "2026-11-04T07:24:17.400Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-57a2b83874f579622cb03cc2",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-57a2b83874f579622cb03cc2",
   "match": "Celta Vigo v Union St. Gilloise",
   "match_url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 36.6,
   "market_code": "player_to_score",
   "author_said": "Player to score: Raul Alexander Florucz to score",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Void",
   "final_score": "1-2",
   "reason": "",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-04T07:11:54.000Z",
   "recorded_at": "2026-11-04T07:24:17.400Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-57a2b83874f579622cb03cc2",
    "quote_text": "Raul Florucz to score anytime",
    "fragment_from": 212,
    "fragment_to": 241,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celta-vigo-vs-union-saint-gilloise-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "26c445095a6d2109b990717e54ba47f38fc3ece28acade683b89bba317c30761",
     "material_removed": false
    },
    "published_at": "2026-11-04T07:11:54.000Z",
    "detected_at": "2026-11-04T07:24:17.400Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-e5ece912019d",
     "display_name": "Celta Vigo — Union St. Gilloise",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Raul Alexander Florucz to score",
    "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": "void",
    "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-11-04T07:11:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T07:11:54.000Z",
     "detected_at": "2026-11-04T07:24:17.400Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Raul Alexander Florucz to score",
     "author_odds": null,
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Raul Alexander Florucz to score"
    },
    "author_claim_outcome": {
     "result": "void",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Void — Raul Alexander Florucz did not play; the final score was Celta Vigo 1-2 Union St. Gilloise."
    },
    "settlements": [
     {
      "operation_id": "0bceecf124cc3002444d28f64b451a8e5fafe1b6dbdb099a6105ef6d5779530d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Raul Alexander Florucz to score",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/celta-vigo-vs-union-saint-gilloise-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Raul Alexander Florucz to score"
   }
  },
  {
   "record_id": "n-8ac3daf158c3b9905b0b996f",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-8ac3daf158c3b9905b0b996f",
   "match": "Celta Vigo v Union St. Gilloise",
   "match_url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 36.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Union St. Gilloise at 3.1",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 20000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.1",
   "settled_price": "3.0000",
   "published_at": "2026-11-04T07:11:54.000Z",
   "recorded_at": "2026-11-04T07:24:17.400Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.2000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-8ac3daf158c3b9905b0b996f",
    "quote_text": "Match result: Union Saint-Gilloise at 21/10 (3.10)",
    "fragment_from": 4677,
    "fragment_to": 4727,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celta-vigo-vs-union-saint-gilloise-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "26c445095a6d2109b990717e54ba47f38fc3ece28acade683b89bba317c30761",
     "material_removed": false
    },
    "published_at": "2026-11-04T07:11:54.000Z",
    "detected_at": "2026-11-04T07:24:17.400Z",
    "executed_at": "2026-11-04T07:35:56.600Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e5ece912019d",
     "display_name": "Celta Vigo — Union St. Gilloise",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Union St. Gilloise",
    "odds_set": {
     "by_author": "3.1",
     "our_snapshot": "3.0000",
     "our_snapshot_at": "2026-11-04T07:23:52.758Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 20000,
    "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-11-04T07:11:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T07:11:54.000Z",
     "detected_at": "2026-11-04T07:24:17.400Z",
     "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": "Union St. Gilloise",
     "author_odds": "3.1",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Union St. Gilloise at 3.1"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Celta Vigo 1-2 Union St. Gilloise."
    },
    "settlements": [
     {
      "operation_id": "1714a3e38a74eade216c0aaa2568c5f90dc9349a8e8b38d4d5020d74a4428923",
      "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": "Union St. Gilloise",
      "decimal_odds": "3.1",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 21000,
      "executed_at": "2026-11-04T07:35:48.409Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "684caf94aa9e0af03dfc2ddb084451f643d4ea58231719b2d5f1ff1b7f592ecc",
      "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": "Union St. Gilloise",
      "decimal_odds": "3.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 20000,
      "executed_at": "2026-11-04T07:35:56.600Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/celta-vigo-vs-union-saint-gilloise-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Union St. Gilloise to win"
   }
  },
  {
   "record_id": "n-b346289978b050e1b01e9bcd",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-b346289978b050e1b01e9bcd",
   "match": "Celta Vigo v Union St. Gilloise",
   "match_url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 36.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Celta Vigo 2-3 Union St. Gilloise at 30",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "30",
   "settled_price": "23.0000",
   "published_at": "2026-11-04T07:11:54.000Z",
   "recorded_at": "2026-11-04T07:24:17.400Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-b346289978b050e1b01e9bcd",
    "quote_text": "Correct Score: 2-3 at 29/1 (30.00)",
    "fragment_from": 4824,
    "fragment_to": 4858,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celta-vigo-vs-union-saint-gilloise-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "26c445095a6d2109b990717e54ba47f38fc3ece28acade683b89bba317c30761",
     "material_removed": false
    },
    "published_at": "2026-11-04T07:11:54.000Z",
    "detected_at": "2026-11-04T07:24:17.400Z",
    "executed_at": "2026-11-07T09:27:55.980Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e5ece912019d",
     "display_name": "Celta Vigo — Union St. Gilloise",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celta-vigo-vs-union-st-gilloise-2026-11-05/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Celta Vigo 2-3 Union St. Gilloise",
    "odds_set": {
     "by_author": "30",
     "our_snapshot": "23.0000",
     "our_snapshot_at": "2026-11-04T07:21:35.493Z",
     "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-11-04T07:11:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T07:11:54.000Z",
     "detected_at": "2026-11-04T07:24:17.400Z",
     "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": "Celta Vigo 2-3 Union St. Gilloise",
     "author_odds": "30",
     "market_key": "correct_score_market",
     "choice_key": "2-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Celta Vigo 2-3 Union St. Gilloise at 30"
    },
    "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 Celta Vigo 1-2 Union St. Gilloise."
    },
    "settlements": [
     {
      "operation_id": "d3ec5a8dd51afe4bc28d2e7b9f875b298971f03e0794d863a9b247ce663fe476",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Celta Vigo 2-3 Union St. Gilloise",
      "decimal_odds": "30",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:27:54.985Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "b986d4d38124cde59440ea57c6823550419683bf0d77e8b37897f4e36d16d2b1",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Celta Vigo 2-3 Union St. Gilloise",
      "decimal_odds": "23.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:27:55.980Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/celta-vigo-vs-union-saint-gilloise-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Celta Vigo 2-3 Union St. Gilloise"
   }
  },
  {
   "record_id": "n-439f8e96d719b76f43d70321",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-439f8e96d719b76f43d70321",
   "match": "Getafe v Brighton & Hove Albion",
   "match_url": "/football/matches/getafe-vs-brighton-and-hove-albion-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 35.4,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Brighton & Hove Albion win, both teams to score: yes at 3.7",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.7",
   "settled_price": "3.5500",
   "published_at": "2026-11-04T08:21:58.000Z",
   "recorded_at": "2026-11-04T08:34:17.213Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-439f8e96d719b76f43d70321",
    "quote_text": "Brighton & Hove Albion & BTTS – Yes at 27/10 (3.70)",
    "fragment_from": 4630,
    "fragment_to": 4681,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/getafe-vs-brighton-hove-albion-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3059d3f4e4977c5a1e5446dc452fb78e58eaf4841766e69a64fb0ac0dd4bf89",
     "material_removed": false
    },
    "published_at": "2026-11-04T08:21:58.000Z",
    "detected_at": "2026-11-04T08:34:17.213Z",
    "executed_at": "2026-11-04T08:40:02.224Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-acfd1cf99e26",
     "display_name": "Getafe — Brighton & Hove Albion",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/getafe-vs-brighton-and-hove-albion-2026-11-05/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Brighton & Hove Albion win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.7",
     "our_snapshot": "3.5500",
     "our_snapshot_at": "2026-11-04T08:32:33.482Z",
     "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-11-04T08:21:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T08:21:58.000Z",
     "detected_at": "2026-11-04T08:34:17.213Z",
     "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": "Match result and both teams to score",
     "choice": "Brighton & Hove Albion win, both teams to score: yes",
     "author_odds": "3.7",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Brighton & Hove Albion win, both teams to score: yes at 3.7"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Getafe 0-1 Brighton & Hove Albion."
    },
    "settlements": [
     {
      "operation_id": "3aeb5ef846d2541807c79877a81080121ca2355285fe50c5fa1363e0cb1c8004",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Brighton & Hove Albion win, both teams to score: yes",
      "decimal_odds": "3.7",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T08:40:00.509Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "dfeb831c0f9755444b822fc10781e8f82652e82a0fb79165a257415c1cefe60c",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Brighton & Hove Albion win, both teams to score: yes",
      "decimal_odds": "3.5500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T08:40:02.224Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/getafe-vs-brighton-hove-albion-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Brighton & Hove Albion win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-6d04e7e14f7f7815530de59a",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-6d04e7e14f7f7815530de59a",
   "match": "Getafe v Brighton & Hove Albion",
   "match_url": "/football/matches/getafe-vs-brighton-and-hove-albion-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 35.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2.05",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.05",
   "settled_price": "1.9300",
   "published_at": "2026-11-04T08:21:58.000Z",
   "recorded_at": "2026-11-04T08:34:17.213Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-6d04e7e14f7f7815530de59a",
    "quote_text": "BTTS – Yes at 21/20 (2.05)",
    "fragment_from": 4501,
    "fragment_to": 4527,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/getafe-vs-brighton-hove-albion-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3059d3f4e4977c5a1e5446dc452fb78e58eaf4841766e69a64fb0ac0dd4bf89",
     "material_removed": false
    },
    "published_at": "2026-11-04T08:21:58.000Z",
    "detected_at": "2026-11-04T08:34:17.213Z",
    "executed_at": "2026-11-07T09:27:33.561Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-acfd1cf99e26",
     "display_name": "Getafe — Brighton & Hove Albion",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/getafe-vs-brighton-and-hove-albion-2026-11-05/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2.05",
     "our_snapshot": "1.9300",
     "our_snapshot_at": "2026-11-04T08:32:33.482Z",
     "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-11-04T08:21:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T08:21:58.000Z",
     "detected_at": "2026-11-04T08:34:17.213Z",
     "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": "2.05",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2.05"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Getafe 0-1 Brighton & Hove Albion."
    },
    "settlements": [
     {
      "operation_id": "b1bedd3c25aec6c3907f95d8914b6933c68028dd6db226b14f86dc5496a59c7f",
      "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": "2.05",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:27:32.705Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d2572cc94349d597cc2ea2cbbc90c649f5bfab8fb936d8645ab2ba1e2ef97917",
      "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.9300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:27:33.561Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/getafe-vs-brighton-hove-albion-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-7b0b0e45714e1df60ad31d19",
   "url": "/authors/kelechi-udoka/picks/19/#pick-n-7b0b0e45714e1df60ad31d19",
   "match": "Getafe v Brighton & Hove Albion",
   "match_url": "/football/matches/getafe-vs-brighton-and-hove-albion-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 35.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Getafe 1-3 Brighton & Hove Albion at 14",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "14",
   "settled_price": "12.5000",
   "published_at": "2026-11-04T08:21:58.000Z",
   "recorded_at": "2026-11-04T08:34:17.213Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-7b0b0e45714e1df60ad31d19",
    "quote_text": "Correct Score: 1-3 at 13/1 (14.00)",
    "fragment_from": 4708,
    "fragment_to": 4742,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/getafe-vs-brighton-hove-albion-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3059d3f4e4977c5a1e5446dc452fb78e58eaf4841766e69a64fb0ac0dd4bf89",
     "material_removed": false
    },
    "published_at": "2026-11-04T08:21:58.000Z",
    "detected_at": "2026-11-04T08:34:17.213Z",
    "executed_at": "2026-11-07T09:27:35.376Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-acfd1cf99e26",
     "display_name": "Getafe — Brighton & Hove Albion",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/getafe-vs-brighton-and-hove-albion-2026-11-05/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Getafe 1-3 Brighton & Hove Albion",
    "odds_set": {
     "by_author": "14",
     "our_snapshot": "12.5000",
     "our_snapshot_at": "2026-11-04T08:32:33.482Z",
     "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-11-04T08:21:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T08:21:58.000Z",
     "detected_at": "2026-11-04T08:34:17.213Z",
     "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": "Getafe 1-3 Brighton & Hove Albion",
     "author_odds": "14",
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Getafe 1-3 Brighton & Hove Albion at 14"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Getafe 0-1 Brighton & Hove Albion."
    },
    "settlements": [
     {
      "operation_id": "9ff737e12752af72e43dccb1f1c8f8d3d3518b74c71007c16af4a1bc589ff14f",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Getafe 1-3 Brighton & Hove Albion",
      "decimal_odds": "14",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:27:33.633Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "496af6de83959e24ba394c03a747eb0222ffcf464c5e6e78854e0cd924d98ed3",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Getafe 1-3 Brighton & Hove Albion",
      "decimal_odds": "12.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:27:35.376Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "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/getafe-vs-brighton-hove-albion-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Getafe 1-3 Brighton & Hove Albion"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 398,
  "pages": 21,
  "page_urls": [
   "/authors/kelechi-udoka/",
   "/authors/kelechi-udoka/picks/2/",
   "/authors/kelechi-udoka/picks/3/",
   "/authors/kelechi-udoka/picks/4/",
   "/authors/kelechi-udoka/picks/5/",
   "/authors/kelechi-udoka/picks/6/",
   "/authors/kelechi-udoka/picks/7/",
   "/authors/kelechi-udoka/picks/8/",
   "/authors/kelechi-udoka/picks/9/",
   "/authors/kelechi-udoka/picks/10/",
   "/authors/kelechi-udoka/picks/11/",
   "/authors/kelechi-udoka/picks/12/",
   "/authors/kelechi-udoka/picks/13/",
   "/authors/kelechi-udoka/picks/14/",
   "/authors/kelechi-udoka/picks/15/",
   "/authors/kelechi-udoka/picks/16/",
   "/authors/kelechi-udoka/picks/17/",
   "/authors/kelechi-udoka/picks/18/",
   "/authors/kelechi-udoka/picks/19/",
   "/authors/kelechi-udoka/picks/20/",
   "/authors/kelechi-udoka/picks/21/"
  ],
  "groups": {
   "settled": 194,
   "pending": 10,
   "excluded": 194
  },
  "continuation": "by_time",
  "page": 19,
  "first": 341,
  "last": 360,
  "author_url": "/authors/kelechi-udoka/",
  "current": true
 },
 "entity_id": "history:/authors/kelechi-udoka/picks/19/",
 "source_revision": 10
}
