{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/kelechi-udoka/picks/16/",
 "canonical": "/authors/kelechi-udoka/picks/16/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Kelechi Udoka — football predictions, page 16 of 21",
 "description": "Predictions 281–300 of 398 by Kelechi Udoka, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 16 of 21 of the predictions by Kelechi Udoka recorded by Forecast Record: predictions 281–300 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": "351ca3366c89c35b4af1da125ef1fbd3194a7707474ef86425965bab82692a1f",
 "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/16/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-cb7f872c6d71c9b75bc24491",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Correct Score: 4-0 at 12/1 (13.00) | Likelihood: Outsider",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-27T09:13:30.000Z",
   "recorded_at": "2026-10-27T09:24:17.122Z",
   "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-d7f7e452cda64906a7ae5d08",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> HT result: Celtic at 13/20 (1.65) | 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-10-27T09:13:30.000Z",
   "recorded_at": "2026-10-27T09:24:17.122Z",
   "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-f2570d1cdddacda817d8d672",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Over 3.5 total goals at 9/10 (1.90) | 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-10-27T09:13:30.000Z",
   "recorded_at": "2026-10-27T09:24:17.122Z",
   "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-1af8effbbd53aa960e5e4949",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-1af8effbbd53aa960e5e4949",
   "match": "Villarreal v Espanyol",
   "match_url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 49.8,
   "market_code": "cards_over_under",
   "author_said": "Over/Under 4.5 cards: over 4.5 at 2.05",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10500,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.05",
   "settled_price": "2.05",
   "published_at": "2026-10-28T18:07:45.000Z",
   "recorded_at": "2026-10-28T18:14:17.424Z",
   "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-1af8effbbd53aa960e5e4949",
    "quote_text": "At least five cards were awarded in each of the visiting team's last 10 outings, and this can be backed at 21/20 (2.05).",
    "fragment_from": 3766,
    "fragment_to": 3886,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/villarreal-vs-espanyol-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f383de23b6583261f1cf4714bb882d73b36e4ee7768461401a954abe06e5cb85",
     "material_removed": false
    },
    "published_at": "2026-10-28T18:07:45.000Z",
    "detected_at": "2026-10-28T18:14:17.424Z",
    "executed_at": "2026-10-30T11:06:00.657Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6b2e43166ed3",
     "display_name": "Villarreal — Espanyol",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 4.5 cards",
    "outcome_label": "over 4.5",
    "odds_set": {
     "by_author": "2.05",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 10500,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T18:07:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T18:07:45.000Z",
     "detected_at": "2026-10-28T18:14:17.424Z",
     "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 4.5 cards",
     "choice": "over 4.5",
     "author_odds": "2.05",
     "market_key": "cards_over_under",
     "choice_key": "over",
     "period": "match",
     "line": "4.5",
     "subject": "bookings",
     "in_words": "Over/Under 4.5 cards: over 4.5 at 2.05"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won — cards 3-3 in the match (6 in total); the final score was Villarreal 0-1 Espanyol."
    },
    "settlements": [
     {
      "operation_id": "d3c66168a26fde055ff027ffb6b94b069984e881eee0103c7c6cdb5e7b0b91e5",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 4.5 cards",
      "choice": "over 4.5",
      "decimal_odds": "2.05",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10500,
      "executed_at": "2026-10-30T11:06:00.657Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7893fe4cdd40f917b500f12a63f6bf6b674192f6008915c45aec9ca73bb546b7",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 4.5 cards",
      "choice": "over 4.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "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/villarreal-vs-espanyol-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 4.5 (Over/Under 4.5 cards)"
   }
  },
  {
   "record_id": "n-2b75fcf58280579bbc83cc53",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-2b75fcf58280579bbc83cc53",
   "match": "Villarreal v Espanyol",
   "match_url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 49.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Villarreal at 1.45",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-28T18:07:45.000Z",
   "recorded_at": "2026-10-28T18:14:17.424Z",
   "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-2b75fcf58280579bbc83cc53",
    "quote_text": "Priced at 9/20 (1.45), Villarreal are considered favourites by the bookmakers.\n\nEspanyol have lost five of their last six matches, and having also lost seven consecutive meetings between these sides, we are confident that Villarreal will come out on top after 90 minutes.",
    "fragment_from": 3493,
    "fragment_to": 3764,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/villarreal-vs-espanyol-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f383de23b6583261f1cf4714bb882d73b36e4ee7768461401a954abe06e5cb85",
     "material_removed": false
    },
    "published_at": "2026-10-28T18:07:45.000Z",
    "detected_at": "2026-10-28T18:14:17.424Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-6b2e43166ed3",
     "display_name": "Villarreal — Espanyol",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Villarreal",
    "odds_set": {
     "by_author": "1.45",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T18:07:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T18:07:45.000Z",
     "detected_at": "2026-10-28T18:14:17.424Z",
     "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": "Villarreal",
     "author_odds": "1.45",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Villarreal at 1.45"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Villarreal 0-1 Espanyol."
    },
    "settlements": [
     {
      "operation_id": "79503b449bd8be6e793122beb15235d259743598cf7d4f134be0af2e241cecce",
      "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": "Villarreal",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2c74a280035cf9c5040fe7101857e16ecfc75cb5f809ab55ae3d4be07a882e79",
      "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": "Villarreal",
      "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/villarreal-vs-espanyol-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Villarreal to win"
   }
  },
  {
   "record_id": "n-6a8b2ed78c7fa0dbed51155b",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-6a8b2ed78c7fa0dbed51155b",
   "match": "Villarreal v Espanyol",
   "match_url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 49.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6757",
   "published_at": "2026-10-28T18:07:45.000Z",
   "recorded_at": "2026-10-28T18:14:17.424Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6757",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-6a8b2ed78c7fa0dbed51155b",
    "quote_text": "🔥 Our Hot tip\n\nBTTS - Yes",
    "fragment_from": 178,
    "fragment_to": 203,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/villarreal-vs-espanyol-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f383de23b6583261f1cf4714bb882d73b36e4ee7768461401a954abe06e5cb85",
     "material_removed": false
    },
    "published_at": "2026-10-28T18:07:45.000Z",
    "detected_at": "2026-10-28T18:14:17.424Z",
    "executed_at": "2026-10-30T11:06:04.680Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6b2e43166ed3",
     "display_name": "Villarreal — Espanyol",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6757",
     "our_snapshot_at": "2026-10-28T18:10:24.438Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T18:07:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T18:07:45.000Z",
     "detected_at": "2026-10-28T18:14:17.424Z",
     "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": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Villarreal 0-1 Espanyol."
    },
    "settlements": [
     {
      "operation_id": "09fde8053f3f15fdff9b16c4ad614c23b97dc9fc8a1bd8c815b067b67deeaaa2",
      "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.6757",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T11:06:04.680Z",
      "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/villarreal-vs-espanyol-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-773188d95c4ac380e2842704",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-773188d95c4ac380e2842704",
   "match": "Villarreal v Espanyol",
   "match_url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Villarreal 3-1 Espanyol",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-28T18:07:45.000Z",
   "recorded_at": "2026-10-28T18:14:17.424Z",
   "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.4167",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-773188d95c4ac380e2842704",
    "quote_text": "Whispers Predicts: Villarreal 3-1 Espanyol",
    "fragment_from": 3449,
    "fragment_to": 3491,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/villarreal-vs-espanyol-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f383de23b6583261f1cf4714bb882d73b36e4ee7768461401a954abe06e5cb85",
     "material_removed": false
    },
    "published_at": "2026-10-28T18:07:45.000Z",
    "detected_at": "2026-10-28T18:14:17.424Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6b2e43166ed3",
     "display_name": "Villarreal — Espanyol",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Villarreal 3-1 Espanyol",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T18:07:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T18:07:45.000Z",
     "detected_at": "2026-10-28T18:14:17.424Z",
     "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": "Villarreal 3-1 Espanyol",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Villarreal 3-1 Espanyol"
    },
    "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 Villarreal 0-1 Espanyol."
    },
    "settlements": [
     {
      "operation_id": "ae10c2eabde8ad48550fab04553d023fe3ef0f6d5a21360164bc2802ce86588c",
      "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": "Villarreal",
      "decimal_odds": "1.4167",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T11:06:05.836Z",
      "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/villarreal-vs-espanyol-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Villarreal 3-1 Espanyol"
   }
  },
  {
   "record_id": "n-97bcdceef5fe56131748ed37",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-97bcdceef5fe56131748ed37",
   "match": "Villarreal v Espanyol",
   "match_url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 49.8,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5 at 2.1",
   "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.1",
   "settled_price": "2.2000",
   "published_at": "2026-10-28T18:07:45.000Z",
   "recorded_at": "2026-10-28T18:14:17.424Z",
   "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-97bcdceef5fe56131748ed37",
    "quote_text": "We also fancy over 10.5 total corners at 11/10 (2.10), as was the case in six of the last eight H2Hs.",
    "fragment_from": 3888,
    "fragment_to": 3989,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/villarreal-vs-espanyol-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f383de23b6583261f1cf4714bb882d73b36e4ee7768461401a954abe06e5cb85",
     "material_removed": false
    },
    "published_at": "2026-10-28T18:07:45.000Z",
    "detected_at": "2026-10-28T18:14:17.424Z",
    "executed_at": "2026-10-30T11:06:06.977Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6b2e43166ed3",
     "display_name": "Villarreal — Espanyol",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/villarreal-vs-espanyol-2026-10-30/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 10.5 corners",
    "outcome_label": "over 10.5",
    "odds_set": {
     "by_author": "2.1",
     "our_snapshot": "2.2000",
     "our_snapshot_at": "2026-10-28T18:10:24.438Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T18:07:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T18:07:45.000Z",
     "detected_at": "2026-10-28T18:14:17.424Z",
     "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 10.5 corners",
     "choice": "over 10.5",
     "author_odds": "2.1",
     "market_key": "corners_total",
     "choice_key": "over",
     "period": "match",
     "line": "10.5",
     "subject": "corners",
     "in_words": "Over/Under 10.5 corners: over 10.5 at 2.1"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost — corners 7-3 in the match (10 in total); the final score was Villarreal 0-1 Espanyol."
    },
    "settlements": [
     {
      "operation_id": "3f44296b101bb937ed3287e2dbcbae685872e433bc4d0c2e92a03afcc0aa1aec",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": "2.1",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T11:06:05.992Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "5fb6fb2e730e1c85e08d762a42487bc0b340e4548a97c18ffd068dccab8b33fb",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": "2.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T11:06:06.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/villarreal-vs-espanyol-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 10.5 (Over/Under 10.5 corners)"
   }
  },
  {
   "record_id": "n-0127f4c7973d545533099388",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-0127f4c7973d545533099388",
   "match": "Sheffield United v Wrexham",
   "match_url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 34.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: Sheffield United at 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 14000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.5",
   "settled_price": "2.4000",
   "published_at": "2026-10-29T09:22:38.000Z",
   "recorded_at": "2026-10-29T09:35:50.188Z",
   "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.4000",
    "result": "Won",
    "points_hundredths": 14000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-0127f4c7973d545533099388",
    "quote_text": "Priced at 6/4 (2.50), Sheffield United are slightly favoured by the bookmakers ahead of this encounter.\n\nThe Blades have won two of the last three H2Hs at this stadium, and considering Wrexham's struggles on the road, we are leaning toward Sheffield United for the win.",
    "fragment_from": 4066,
    "fragment_to": 4335,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "da192f9b9a687fa57947ee1bf7bb13cd1c35a71ce2c32fbcccef61dd82da2b68",
     "material_removed": false
    },
    "published_at": "2026-10-29T09:22:38.000Z",
    "detected_at": "2026-10-29T09:35:50.188Z",
    "executed_at": "2026-10-30T10:00:09.249Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cd4dcf8935c0",
     "display_name": "Sheffield United — Wrexham",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Sheffield United",
    "odds_set": {
     "by_author": "2.5",
     "our_snapshot": "2.4000",
     "our_snapshot_at": "2026-10-29T09:34:10.116Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 14000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T09:22:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T09:22:38.000Z",
     "detected_at": "2026-10-29T09:35:50.188Z",
     "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": "Sheffield United",
     "author_odds": "2.5",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Sheffield United at 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Sheffield United 1-0 Wrexham."
    },
    "settlements": [
     {
      "operation_id": "ebcbfed5492c1752f719df8b83a869b1d836fb82c6764877dc1d01aa358cf5e6",
      "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": "Sheffield United",
      "decimal_odds": "2.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15000,
      "executed_at": "2026-10-30T10:00:08.683Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "064ce1fc8edc4781fc192c7ab1d479ffdb73f5fe6fd525b571d2da13f95c1de6",
      "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": "Sheffield United",
      "decimal_odds": "2.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 14000,
      "executed_at": "2026-10-30T10:00:09.249Z",
      "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/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sheffield United to win"
   }
  },
  {
   "record_id": "n-20141ddc8347cdf477786a4e",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-20141ddc8347cdf477786a4e",
   "match": "Sheffield United v Wrexham",
   "match_url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 34.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.95",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T09:22:38.000Z",
   "recorded_at": "2026-10-29T09:35:50.188Z",
   "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-20141ddc8347cdf477786a4e",
    "quote_text": "All five recent meetings between these teams have gone north of the 2.5-goal marker, and this can be backed at 19/20 (1.95).",
    "fragment_from": 4337,
    "fragment_to": 4461,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "da192f9b9a687fa57947ee1bf7bb13cd1c35a71ce2c32fbcccef61dd82da2b68",
     "material_removed": false
    },
    "published_at": "2026-10-29T09:22:38.000Z",
    "detected_at": "2026-10-29T09:35:50.188Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-cd4dcf8935c0",
     "display_name": "Sheffield United — Wrexham",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T09:22:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T09:22:38.000Z",
     "detected_at": "2026-10-29T09:35:50.188Z",
     "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.95",
     "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.95"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Sheffield United 1-0 Wrexham."
    },
    "settlements": [
     {
      "operation_id": "d2b7ebc103f857676e817b0fb89cbd187a1412c98f691a9074d50c40391cf55c",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9ffedf487c9d3a0776453b0975f7e8cbf6fdbdc6722ece6d7d680cc5bca46a67",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "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/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-450f058778c4b473974f71c3",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-450f058778c4b473974f71c3",
   "match": "Sheffield United v Wrexham",
   "match_url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 34.4,
   "market_code": "cards_over_under",
   "author_said": "Over/Under 4.5 cards: over 4.5 at 2",
   "quote": null,
   "group": "pending",
   "outcome": "Pending",
   "claim_outcome": null,
   "final_score": "1-0",
   "reason": "awaiting the corner or card statistics of the match",
   "reason_code": "waiting",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T09:22:38.000Z",
   "recorded_at": "2026-10-29T09:35:50.188Z",
   "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-450f058778c4b473974f71c3",
    "quote_text": "We also fancy over 4.5 total cards at 1/1 (2.00), as was the case in four of both teams' last five respective fixtures.",
    "fragment_from": 4463,
    "fragment_to": 4582,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "da192f9b9a687fa57947ee1bf7bb13cd1c35a71ce2c32fbcccef61dd82da2b68",
     "material_removed": false
    },
    "published_at": "2026-10-29T09:22:38.000Z",
    "detected_at": "2026-10-29T09:35:50.188Z",
    "executed_at": "2026-10-30T10:00:09.581Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cd4dcf8935c0",
     "display_name": "Sheffield United — Wrexham",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 4.5 cards",
    "outcome_label": "over 4.5",
    "odds_set": {
     "by_author": "2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": 0,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T09:22:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T09:22:38.000Z",
     "detected_at": "2026-10-29T09:35:50.188Z",
     "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 4.5 cards",
     "choice": "over 4.5",
     "author_odds": "2",
     "market_key": "cards_over_under",
     "choice_key": "over",
     "period": "match",
     "line": "4.5",
     "subject": "bookings",
     "in_words": "Over/Under 4.5 cards: over 4.5 at 2"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": "1-0",
     "data_status": "unknown",
     "cause": "the result data received so far does not include the card counts this market needs",
     "methodology_version": "2.2",
     "in_words": "Pending: the result data received so far does not include the card counts this market needs."
    },
    "settlements": [
     {
      "operation_id": "e62b156597376cbcad3e6f130dfc845a366560e610636074eb9829f1444feba5",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 4.5 cards",
      "choice": "over 4.5",
      "decimal_odds": "2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-10-30T10:00:09.581Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8c61d2d99e50a4073a73ae55395ef7eb1b969c84ff76a68df2b6d0cb9b74ba73",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 4.5 cards",
      "choice": "over 4.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "qualifying_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/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 4.5 (Over/Under 4.5 cards)"
   }
  },
  {
   "record_id": "n-63437a4b08a2a959d36481e7",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-63437a4b08a2a959d36481e7",
   "match": "Sheffield United v Wrexham",
   "match_url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 34.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6900",
   "published_at": "2026-10-29T09:22:38.000Z",
   "recorded_at": "2026-10-29T09:35:50.188Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6900",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-63437a4b08a2a959d36481e7",
    "quote_text": "BTTS - Yes\n\nBoth teams were on the scoresheet in four of Wrexham's last five matches.",
    "fragment_from": 185,
    "fragment_to": 270,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "da192f9b9a687fa57947ee1bf7bb13cd1c35a71ce2c32fbcccef61dd82da2b68",
     "material_removed": false
    },
    "published_at": "2026-10-29T09:22:38.000Z",
    "detected_at": "2026-10-29T09:35:50.188Z",
    "executed_at": "2026-10-30T10:01:41.927Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cd4dcf8935c0",
     "display_name": "Sheffield United — Wrexham",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6900",
     "our_snapshot_at": "2026-10-29T09:34:10.116Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T09:22:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T09:22:38.000Z",
     "detected_at": "2026-10-29T09:35:50.188Z",
     "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": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Sheffield United 1-0 Wrexham."
    },
    "settlements": [
     {
      "operation_id": "716fe0016d9d7a7ab35f562e884a2ec3c948ad898091917f7d786c4de12a4c42",
      "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.6900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T10:01:41.927Z",
      "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/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-9c3cae0ea2b9fb5b7be3b15c",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-9c3cae0ea2b9fb5b7be3b15c",
   "match": "Sheffield United v Wrexham",
   "match_url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
   "kickoff": "2026-10-30T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 34.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sheffield United 2-1 Wrexham",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T09:22:38.000Z",
   "recorded_at": "2026-10-29T09:35:50.188Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.4000",
    "result": "Won",
    "points_hundredths": 14000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-9c3cae0ea2b9fb5b7be3b15c",
    "quote_text": "Whispers Predicts: Sheffield United 2-1 Wrexham",
    "fragment_from": 4017,
    "fragment_to": 4064,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "da192f9b9a687fa57947ee1bf7bb13cd1c35a71ce2c32fbcccef61dd82da2b68",
     "material_removed": false
    },
    "published_at": "2026-10-29T09:22:38.000Z",
    "detected_at": "2026-10-29T09:35:50.188Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cd4dcf8935c0",
     "display_name": "Sheffield United — Wrexham",
     "competition_name": "EFL Championship",
     "starts_at": "2026-10-30T20:00:00.000Z",
     "url": "/football/matches/sheffield-united-vs-wrexham-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sheffield United 2-1 Wrexham",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T09:22:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T09:22:38.000Z",
     "detected_at": "2026-10-29T09:35:50.188Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Sheffield United 2-1 Wrexham",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sheffield United 2-1 Wrexham"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Sheffield United 1-0 Wrexham."
    },
    "settlements": [
     {
      "operation_id": "f8f9f048173e8ddf11d8be91af50743fb085ed7f5b1e72d04901bcd804ce5b89",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Sheffield United",
      "decimal_odds": "2.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 14000,
      "executed_at": "2026-10-30T10:01:42.129Z",
      "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/sheffield-united-vs-wrexham-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sheffield United 2-1 Wrexham"
   }
  },
  {
   "record_id": "n-215f6c35a987c9838652cdd7",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-215f6c35a987c9838652cdd7",
   "match": "Levante UD v Atlético Madrid",
   "match_url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
   "kickoff": "2026-10-31T13:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 34.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: Atlético Madrid at 1.6",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5495,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.6",
   "settled_price": "1.5495",
   "published_at": "2026-10-30T02:27:13.000Z",
   "recorded_at": "2026-10-30T02:34:20.597Z",
   "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-215f6c35a987c9838652cdd7",
    "quote_text": "Match result: Atletico Madrid at 3/5 (1.60)",
    "fragment_from": 4149,
    "fragment_to": 4192,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04a840f993705caeb557f460bb8af30a2288803655954e2e2b31cf80992223d3",
     "material_removed": false
    },
    "published_at": "2026-10-30T02:27:13.000Z",
    "detected_at": "2026-10-30T02:34:20.597Z",
    "executed_at": "2026-10-31T08:20:57.738Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d4720e9c48e9",
     "display_name": "Levante UD — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-31T13:00:00.000Z",
     "url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Atlético Madrid",
    "odds_set": {
     "by_author": "1.6",
     "our_snapshot": "1.5495",
     "our_snapshot_at": "2026-10-30T02:34:15.327Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5495,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T02:27:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T02:27:13.000Z",
     "detected_at": "2026-10-30T02:34:20.597Z",
     "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": "Atlético Madrid",
     "author_odds": "1.6",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Atlético Madrid at 1.6"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Levante UD 0-2 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "7dab41879b364c4604138f55011e8d4bac508328d12352bd62a1678891297e6b",
      "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": "Atlético Madrid",
      "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-10-31T08:20:53.645Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c1f21b880b1a4eaf1707f142fc751440bca5caa4cfeed395f52bf378fe7b1941",
      "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": "Atlético Madrid",
      "decimal_odds": "1.5495",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5495,
      "executed_at": "2026-10-31T08:20:57.738Z",
      "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/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atlético Madrid to win"
   }
  },
  {
   "record_id": "n-538deca8c07f51a812d20a6c",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-538deca8c07f51a812d20a6c",
   "match": "Levante UD v Atlético Madrid",
   "match_url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
   "kickoff": "2026-10-31T13:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 34.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 2.55",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 15000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.55",
   "settled_price": "2.5000",
   "published_at": "2026-10-30T02:27:13.000Z",
   "recorded_at": "2026-10-30T02:34:20.597Z",
   "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-538deca8c07f51a812d20a6c",
    "quote_text": "Under 2.5 total goals at 31/20 (2.55)",
    "fragment_from": 4035,
    "fragment_to": 4072,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04a840f993705caeb557f460bb8af30a2288803655954e2e2b31cf80992223d3",
     "material_removed": false
    },
    "published_at": "2026-10-30T02:27:13.000Z",
    "detected_at": "2026-10-30T02:34:20.597Z",
    "executed_at": "2026-10-31T08:25:30.871Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d4720e9c48e9",
     "display_name": "Levante UD — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-31T13:00:00.000Z",
     "url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "2.55",
     "our_snapshot": "2.5000",
     "our_snapshot_at": "2026-10-30T02:34:15.327Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 15000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T02:27:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T02:27:13.000Z",
     "detected_at": "2026-10-30T02:34:20.597Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "2.55",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 2.55"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Levante UD 0-2 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "ecdac6d88760c3d43bc46bbab0f54a967d35d24c71afd99dc6ca1a404a911d06",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.55",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15500,
      "executed_at": "2026-10-31T08:25:26.270Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "97307322b4278cb1f44b7641dae0a14e1551e7ee2aed1b6dec950f70b8a59c9a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15000,
      "executed_at": "2026-10-31T08:25:30.871Z",
      "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/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-b35c9009feca1590ed914a98",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-b35c9009feca1590ed914a98",
   "match": "Levante UD v Atlético Madrid",
   "match_url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
   "kickoff": "2026-10-31T13:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 34.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Levante UD 0-2 Atlético Madrid at 9",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T02:27:13.000Z",
   "recorded_at": "2026-10-30T02:34:20.597Z",
   "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-b35c9009feca1590ed914a98",
    "quote_text": "Correct Score: 0-2 at 8/1 (9.00)",
    "fragment_from": 4289,
    "fragment_to": 4321,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04a840f993705caeb557f460bb8af30a2288803655954e2e2b31cf80992223d3",
     "material_removed": false
    },
    "published_at": "2026-10-30T02:27:13.000Z",
    "detected_at": "2026-10-30T02:34:20.597Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-d4720e9c48e9",
     "display_name": "Levante UD — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-31T13:00:00.000Z",
     "url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Levante UD 0-2 Atlético Madrid",
    "odds_set": {
     "by_author": "9",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T02:27:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T02:27:13.000Z",
     "detected_at": "2026-10-30T02:34:20.597Z",
     "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": "Levante UD 0-2 Atlético Madrid",
     "author_odds": "9",
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Levante UD 0-2 Atlético Madrid at 9"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Levante UD 0-2 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "d522e2f1a2e3782d5eade2ec7ad36060656aa5b178498f163b9abdd3de2e41bb",
      "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": "Levante UD 0-2 Atlético Madrid",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "aeef88da6a7850bdd71d41932f6ced477757e44e55a61db6a115252618e7adb3",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Levante UD 0-2 Atlético Madrid",
      "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/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Levante UD 0-2 Atlético Madrid"
   }
  },
  {
   "record_id": "n-b6b4f6674a528775c2123949",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-b6b4f6674a528775c2123949",
   "match": "Levante UD v Atlético Madrid",
   "match_url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
   "kickoff": "2026-10-31T13:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 34.4,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Atlético Madrid win, both teams to score: no at 2.95",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 20000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.95",
   "settled_price": "3.0000",
   "published_at": "2026-10-30T02:27:13.000Z",
   "recorded_at": "2026-10-30T02:34:20.597Z",
   "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-b6b4f6674a528775c2123949",
    "quote_text": "Atletico Madrid & BTTS – No at 39/20 (2.95)",
    "fragment_from": 4219,
    "fragment_to": 4262,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04a840f993705caeb557f460bb8af30a2288803655954e2e2b31cf80992223d3",
     "material_removed": false
    },
    "published_at": "2026-10-30T02:27:13.000Z",
    "detected_at": "2026-10-30T02:34:20.597Z",
    "executed_at": "2026-10-31T08:25:39.408Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d4720e9c48e9",
     "display_name": "Levante UD — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-31T13:00:00.000Z",
     "url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Atlético Madrid win, both teams to score: no",
    "odds_set": {
     "by_author": "2.95",
     "our_snapshot": "3.0000",
     "our_snapshot_at": "2026-10-30T02:32:33.454Z",
     "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-10-30T02:27:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T02:27:13.000Z",
     "detected_at": "2026-10-30T02:34:20.597Z",
     "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": "Atlético Madrid win, both teams to score: no",
     "author_odds": "2.95",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Atlético Madrid win, both teams to score: no at 2.95"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Levante UD 0-2 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "01808429a4056852e08a3d3fa021a89fb640910aa799d0756aed1917495a7ed4",
      "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": "Atlético Madrid win, both teams to score: no",
      "decimal_odds": "2.95",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 19500,
      "executed_at": "2026-10-31T08:25:31.217Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2e34951118de77e7b0f0fa4d41e2ca7d2dd5b670a78a2b2e9b7662664ee73225",
      "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": "Atlético Madrid win, both teams to score: no",
      "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-10-31T08:25:39.408Z",
      "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/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atlético Madrid win, both teams to score: no"
   }
  },
  {
   "record_id": "n-bdb073961233ae60e57d4a61",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-bdb073961233ae60e57d4a61",
   "match": "Levante UD v Atlético Madrid",
   "match_url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
   "kickoff": "2026-10-31T13:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 34.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 12500,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.25",
   "settled_price": "2.2500",
   "published_at": "2026-10-30T02:27:13.000Z",
   "recorded_at": "2026-10-30T02:34:20.597Z",
   "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-bdb073961233ae60e57d4a61",
    "quote_text": "BTTS – No at 5/4 (2.25)",
    "fragment_from": 3894,
    "fragment_to": 3917,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04a840f993705caeb557f460bb8af30a2288803655954e2e2b31cf80992223d3",
     "material_removed": false
    },
    "published_at": "2026-10-30T02:27:13.000Z",
    "detected_at": "2026-10-30T02:34:20.597Z",
    "executed_at": "2026-11-07T10:21:22.021Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d4720e9c48e9",
     "display_name": "Levante UD — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-31T13:00:00.000Z",
     "url": "/football/matches/levante-ud-vs-atletico-madrid-2026-10-31/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": "2.2500",
     "our_snapshot_at": "2026-10-30T02:34:15.327Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 12500,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T02:27:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T02:27:13.000Z",
     "detected_at": "2026-10-30T02:34:20.597Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "no",
     "author_odds": "2.25",
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no at 2.25"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Levante UD 0-2 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "1e13b6fbb2a3ae6a6b93fe6009786dd4599c8a7d976f13316032526dd1fc3e5f",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.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-07T10:21:14.417Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6fd032770ea54f131ca9fca8677d8e9b49dee85b6faec1bdfd306a382d7c84d5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12500,
      "executed_at": "2026-11-07T10:21:22.021Z",
      "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/levante-vs-atletico-madrid-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-3eede8fde0bd9963e6a0863c",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-3eede8fde0bd9963e6a0863c",
   "match": "FC Barcelona v Deportivo Alavés",
   "match_url": "/football/matches/fc-barcelona-vs-deportivo-alaves-2026-10-31/",
   "kickoff": "2026-10-31T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 40.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.91",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "6-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T03:28:15.000Z",
   "recorded_at": "2026-10-30T03:44:17.273Z",
   "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-3eede8fde0bd9963e6a0863c",
    "quote_text": "BTTS – Yes at 10/11 (1.91)",
    "fragment_from": 4403,
    "fragment_to": 4429,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/barcelona-vs-alaves-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6b0f0b6fd0e75d1e9eb939f60edd460b383992fab45c0591436dae7a34b5af56",
     "material_removed": false
    },
    "published_at": "2026-10-30T03:28:15.000Z",
    "detected_at": "2026-10-30T03:44:17.273Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-d7731dc6fd99",
     "display_name": "FC Barcelona — Deportivo Alavés",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-31T20:00:00.000Z",
     "url": "/football/matches/fc-barcelona-vs-deportivo-alaves-2026-10-31/",
     "scoreline": "6-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.91",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T03:28:15.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T03:28:15.000Z",
     "detected_at": "2026-10-30T03:44:17.273Z",
     "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.91",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.91"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "6-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was FC Barcelona 6-1 Deportivo Alavés."
    },
    "settlements": [
     {
      "operation_id": "a699dfc5554dd8e24060fefd47a301a365ddd5a1325d52ea0a057503ba73ff9b",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "82197600bc34fe9057a6f6e9ca9eb18d969a7ed6eceed50ea4d43015bd7de005",
      "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": 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/barcelona-vs-alaves-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-44927c4e6c448aa22417ebef",
   "url": "/authors/kelechi-udoka/picks/16/#pick-n-44927c4e6c448aa22417ebef",
   "match": "FC Barcelona v Deportivo Alavés",
   "match_url": "/football/matches/fc-barcelona-vs-deportivo-alaves-2026-10-31/",
   "kickoff": "2026-10-31T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 40.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Barcelona 4-1 Deportivo Alavés at 12",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "6-1",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T03:28:15.000Z",
   "recorded_at": "2026-10-30T03:44:17.273Z",
   "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-44927c4e6c448aa22417ebef",
    "quote_text": "Correct Score: 4-1 at 11/1 (12.00)",
    "fragment_from": 4585,
    "fragment_to": 4619,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/barcelona-vs-alaves-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6b0f0b6fd0e75d1e9eb939f60edd460b383992fab45c0591436dae7a34b5af56",
     "material_removed": false
    },
    "published_at": "2026-10-30T03:28:15.000Z",
    "detected_at": "2026-10-30T03:44:17.273Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-d7731dc6fd99",
     "display_name": "FC Barcelona — Deportivo Alavés",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-31T20:00:00.000Z",
     "url": "/football/matches/fc-barcelona-vs-deportivo-alaves-2026-10-31/",
     "scoreline": "6-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Barcelona 4-1 Deportivo Alavés",
    "odds_set": {
     "by_author": "12",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T03:28:15.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T03:28:15.000Z",
     "detected_at": "2026-10-30T03:44:17.273Z",
     "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": "FC Barcelona 4-1 Deportivo Alavés",
     "author_odds": "12",
     "market_key": "correct_score_market",
     "choice_key": "4-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Barcelona 4-1 Deportivo Alavés at 12"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "6-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was FC Barcelona 6-1 Deportivo Alavés."
    },
    "settlements": [
     {
      "operation_id": "b901250cf690b38accebb06dc764f972de7e49aa1e165768f437917dababb745",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "FC Barcelona 4-1 Deportivo Alavés",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "0e5cfac23be61216097a7cadf16cb73860bdeefa9273f7bd98d5a4a2c754c543",
      "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": "FC Barcelona",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": 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/barcelona-vs-alaves-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Barcelona 4-1 Deportivo Alavés"
   }
  }
 ],
 "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": 16,
  "first": 281,
  "last": 300,
  "author_url": "/authors/kelechi-udoka/",
  "current": true
 },
 "entity_id": "history:/authors/kelechi-udoka/picks/16/",
 "source_revision": 22
}
