{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/matthew-cooper/",
 "canonical": "/authors/matthew-cooper/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Matthew Cooper: Football Prediction Record",
 "description": "1 settled pick by Matthew Cooper recorded before kick-off across 1 match, 3 Nov 2026: won 1 of 1 at our recorded market prices. Every pick with its source.",
 "first_paragraph": {
  "body": "Forecast Record recorded 1 settled live pick by Matthew Cooper before kick-off across 1 match on 3 November 2026. Won 1 of 1 settled live pick at our recorded market prices. Of the 34 predictions we hold for Matthew Cooper, 27 are linked to matches: 27 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "1",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "outside_core",
 "indexing_threshold": {
  "settled_count": 24,
  "date_count": 10,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T18:09:22.681Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "a9f950c6ce6c0e1a2d8c73ec20508ffe8e60d4ef2de9f215271716492df94bfa",
 "dependency_group": "author:e-bafc952d44e2ffd177429614",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Person",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/matthew-cooper/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/matthew-cooper/picks.csv",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": true,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": {
  "container": true,
  "request_url": "/partnery/moi",
  "disclosure": "Some links below are affiliate links and are marked as such. They never affect what you see above: the order of any table is computed before any commission is known.",
  "page_category": "author"
 },
 "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-bafc952d44e2ffd177429614",
  "public_name": "Matthew Cooper",
  "tracker_number": 1322,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-27",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-bafc952d44e2ffd177429614-roi-market-price-90d-z99",
   "code_name": "roi_market_price",
   "display_name": "Return on stakes at an independent odds snapshot",
   "window_kind": "90d",
   "window_from": "2026-08-09",
   "window_to": "2026-11-07",
   "amount": "110.0000",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 1,
   "n_events": 1,
   "n_void": 0,
   "ci_low": null,
   "ci_high": null,
   "ci_method": "not_estimated",
   "price_source": "market_price",
   "coverage_percent": "0.00",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T18:09:22.681Z",
   "enough_for_ranking": false,
   "series_uid": null,
   "series_key": "market_price",
   "series_label": "At an independent odds snapshot"
  },
  "byline": "Return on stakes at an independent odds snapshot over 90 days: 1 settled pick across 1 match",
  "average_odds": "2.10",
  "odds_from_author": 0,
  "odds_from_snapshot": 1
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-fcdf19bf3bd488cf17fe4c0f",
  "bankroll_hundredths": 1011000,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": 11000,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-11-03T22:07:41.321Z",
    "bankroll_hundredths": 1011000,
    "profit_hundredths": 11000,
    "outcome_id": "ish-22a8758a51cc86fd1906e741"
   }
  ],
  "top_ups": [],
  "rule": "When the balance falls below 100 points and no bets are open, 10000 points are added; the remaining balance is kept. While bets are open we wait for settlement.",
  "series_key": "market_price",
  "series_label": "At an independent odds snapshot"
 },
 "simulations": [],
 "completeness": {
  "detected": 161,
  "recognised": 34,
  "accepted": 4,
  "executed": 1,
  "calculated": 1,
  "gaps": [
   {
    "cause": "outside the method",
    "figure": 23
   },
   {
    "cause": "other reading",
    "figure": 5
   },
   {
    "cause": "not_supported",
    "figure": 2
   },
   {
    "cause": "disputed_reading",
    "figure": 2
   },
   {
    "cause": "no_price_at_capture",
    "figure": 1
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 161,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 12,
   "not_about_a_match": 115,
   "unclassified": 0
  },
  "predictions": 34,
  "predictions_restored": 0,
  "matches": 23,
  "admitted": 4,
  "qualifying_picks": 1,
  "qualifying_picks_restored": 0,
  "settled_picks": 1,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 1,
    "settled_picks": 1,
    "void": 0,
    "pending_picks": 0,
    "matches": 1,
    "operations_settled": 1,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   },
   {
    "code_name": "derived_series",
    "derived": true,
    "is_restored": false,
    "qualifying_picks": 22,
    "settled_picks": 22,
    "void": 0,
    "pending_picks": 0,
    "matches": 22,
    "operations_settled": 22,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "Forecast Record reconstruction from the predicted score"
   }
  ],
  "gaps": [
   {
    "code_name": "not_admitted",
    "cause": "outside the method",
    "figure": 23
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 5
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 2
   },
   {
    "code_name": "disputed_reading",
    "cause": "disputed_reading",
    "figure": 2
   },
   {
    "code_name": "no_price_at_capture",
    "cause": "no_price_at_capture",
    "figure": 1
   }
  ],
  "duplicates": 0,
  "junk": {
   "service": 5
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-58573ff3b9e4046b168462d0",
   "url": "/evidence/?pick=n-58573ff3b9e4046b168462d0",
   "quote_text": "Head coach Oliver Glasner has come under increasing pressure in recent weeks, with Forest picking up one point",
   "fragment_from": 2262,
   "fragment_to": 2372,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/nottingham-forest/how-to-watch/how-to-watch-nottingham-forest-vs-man-city-date-time-live-stream-and-tv-channel_608594.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472d01bda88c337ba92d230ae862e930c4c1819c61d723781d2fb3e748db927b",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:19:00.000Z",
   "detected_at": "2026-11-07T06:11:02.776Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:19:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:19:00.000Z",
    "detected_at": "2026-11-07T06:11:02.776Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8df56bdeb724a2f7b4d57166",
   "url": "/evidence/?pick=n-8df56bdeb724a2f7b4d57166",
   "quote_text": "The hosts currently sit second from bottom in the Premier League table and are 15 points below the visitors",
   "fragment_from": 555,
   "fragment_to": 662,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/nottingham-forest/how-to-watch/how-to-watch-nottingham-forest-vs-man-city-date-time-live-stream-and-tv-channel_608594.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472d01bda88c337ba92d230ae862e930c4c1819c61d723781d2fb3e748db927b",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:19:00.000Z",
   "detected_at": "2026-11-07T06:11:02.776Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:19:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:19:00.000Z",
    "detected_at": "2026-11-07T06:11:02.776Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-97c6c7556f7af4f95afffb91",
   "url": "/evidence/?pick=n-97c6c7556f7af4f95afffb91",
   "quote_text": "Nottingham Forest vs. Man City: How to watch, date, time, live stream and TV channel for Premier League clash",
   "fragment_from": 0,
   "fragment_to": 109,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/nottingham-forest/how-to-watch/how-to-watch-nottingham-forest-vs-man-city-date-time-live-stream-and-tv-channel_608594.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "472d01bda88c337ba92d230ae862e930c4c1819c61d723781d2fb3e748db927b",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:19:00.000Z",
   "detected_at": "2026-11-07T06:11:02.776Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:19:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:19:00.000Z",
    "detected_at": "2026-11-07T06:11:02.776Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5095dd0c66f2d8b3e3258a3f",
   "url": "/evidence/?pick=n-5095dd0c66f2d8b3e3258a3f",
   "quote_text": "Savage could come into the side for Lewis Wing, while Jacob Brown is likely to replace Marriott.",
   "fragment_from": 2469,
   "fragment_to": 2565,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-719ccd445254a8ecee6b6cb4",
   "url": "/evidence/?pick=n-719ccd445254a8ecee6b6cb4",
   "quote_text": "Reading remain without George Earthy, Benn Ward and Paddy Lane due to injury and Jack Marriott is expected",
   "fragment_from": 2297,
   "fragment_to": 2403,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a1f481dbc7013a6f5079a62d",
   "url": "/evidence/?pick=n-a1f481dbc7013a6f5079a62d",
   "quote_text": "Harry Leonard is expected to continue up front, having bagged nine goals across all competitions so far",
   "fragment_from": 2179,
   "fragment_to": 2282,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-1e1b97976aa18cbc02e1ef09",
   "url": "/evidence/?pick=n-1e1b97976aa18cbc02e1ef09",
   "quote_text": "Peterborough could hand starts to Matthew Garbett, Brandon Khela and Sam Hughes",
   "fragment_from": 2018,
   "fragment_to": 2097,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8c9efe3d1bc128fd9ac59859",
   "url": "/evidence/?pick=n-8c9efe3d1bc128fd9ac59859",
   "quote_text": "There is also an intriguing subplot for this match, with Reading midfielder Charlie Savage going up",
   "fragment_from": 1680,
   "fragment_to": 1779,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d628f270d24ca3cff4848b46",
   "url": "/evidence/?pick=n-d628f270d24ca3cff4848b46",
   "quote_text": "Reading, meanwhile, will be looking for a response after they lost 2-0 to local rivals Oxford United",
   "fragment_from": 1283,
   "fragment_to": 1383,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-56e0e129823de2f9fc7feade",
   "url": "/evidence/?pick=n-56e0e129823de2f9fc7feade",
   "quote_text": "The Posh lost 2-0 at home to Luton in their most recent fixture last weekend",
   "fragment_from": 745,
   "fragment_to": 821,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-29bbc37130661a58ca0a13f0",
   "url": "/evidence/?pick=n-29bbc37130661a58ca0a13f0",
   "quote_text": "Peterborough are without a win in their last five matches across all competitions",
   "fragment_from": 563,
   "fragment_to": 644,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ed6d979690bb31da19af737b",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-ed6d979690bb31da19af737b",
   "quote_text": "We say: Peterborough United 1-2 Reading",
   "fragment_from": 2850,
   "fragment_to": 2889,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "15bd6e34f30b9f86a7452fa82b2a0f790e1f7293f3b6513faf63b8470b17eb50",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:03:46.000Z",
   "detected_at": "2026-11-06T09:10:02.980Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:03:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:03:46.000Z",
    "detected_at": "2026-11-06T09:10:02.980Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3547a2c6dc1abbc58a9bb885",
   "url": "/evidence/?pick=n-3547a2c6dc1abbc58a9bb885",
   "quote_text": "Sam Silvera suffered an injury against Doncaster",
   "fragment_from": 1906,
   "fragment_to": 1954,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mk-dons/preview/mk-dons-vs-swindon-prediction-team-news-lineups_608488.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4957ec0368947e76fcd253920180a6991e4c2a997d8c201816e08fe51a58cda",
    "material_removed": false
   },
   "published_at": "2026-11-05T14:11:28.000Z",
   "detected_at": "2026-11-05T15:10:06.485Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T14:11:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T14:11:28.000Z",
    "detected_at": "2026-11-05T15:10:06.485Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-6972133eb5cebec23f90c9d4",
   "url": "/evidence/?pick=n-6972133eb5cebec23f90c9d4",
   "quote_text": "Aaron Collins has been the star of the show for MK Dons",
   "fragment_from": 727,
   "fragment_to": 782,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mk-dons/preview/mk-dons-vs-swindon-prediction-team-news-lineups_608488.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4957ec0368947e76fcd253920180a6991e4c2a997d8c201816e08fe51a58cda",
    "material_removed": false
   },
   "published_at": "2026-11-05T14:11:28.000Z",
   "detected_at": "2026-11-05T15:10:06.485Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T14:11:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T14:11:28.000Z",
    "detected_at": "2026-11-05T15:10:06.485Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2c8d032db124e6e18b27018a",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-2c8d032db124e6e18b27018a",
   "quote_text": "We say: MK Dons 3-1 Swindon Town",
   "fragment_from": 2584,
   "fragment_to": 2616,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mk-dons/preview/mk-dons-vs-swindon-prediction-team-news-lineups_608488.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f4957ec0368947e76fcd253920180a6991e4c2a997d8c201816e08fe51a58cda",
    "material_removed": false
   },
   "published_at": "2026-11-05T14:11:28.000Z",
   "detected_at": "2026-11-05T15:10:06.485Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T14:11:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T14:11:28.000Z",
    "detected_at": "2026-11-05T15:10:06.485Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-1c66b219b847cffbd6af56ac",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-1c66b219b847cffbd6af56ac",
   "quote_text": "We say: Carlisle United 1-2 Salford City",
   "fragment_from": 3054,
   "fragment_to": 3094,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/carlisle-united/preview/carlisle-vs-salford-city-prediction-team-news-lineups_608485.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8aba05ac8238dfc501e891bbaf942c70c20e2c55b1afc09876e86b6be1dd8799",
    "material_removed": false
   },
   "published_at": "2026-11-05T13:27:59.000Z",
   "detected_at": "2026-11-05T14:10:07.837Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T13:27:59.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T13:27:59.000Z",
    "detected_at": "2026-11-05T14:10:07.837Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8ded626d06fa8238735c4d59",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-8ded626d06fa8238735c4d59",
   "quote_text": "We say: York City 2-1 Northampton Town",
   "fragment_from": 3031,
   "fragment_to": 3069,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/york-city/preview/york-city-vs-northampton-prediction-team-news-lineups_608482.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "714dbea3457a01cd5c323d582c1108a12c0955ea538c547e23b390d54be1b2dc",
    "material_removed": false
   },
   "published_at": "2026-11-05T12:51:50.000Z",
   "detected_at": "2026-11-05T13:10:21.864Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T12:51:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T12:51:50.000Z",
    "detected_at": "2026-11-05T13:10:21.864Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-391847cc5999a90370e51984",
   "url": "/evidence/?pick=n-391847cc5999a90370e51984",
   "quote_text": "The hosts currently sit 20th in the table and are searching for their first win, while the visitors",
   "fragment_from": 518,
   "fragment_to": 617,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/getafe/how-to-watch/how-to-watch-getafe-vs-brighton-date-time-live-stream-and-tv-channel_608389.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "08e3f7be1db95edef292487262acc5d65cde69a0b799c792ef5dde8c59829d16",
    "material_removed": false
   },
   "published_at": "2026-11-04T13:58:08.000Z",
   "detected_at": "2026-11-04T14:10:29.003Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T13:58:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T13:58:08.000Z",
    "detected_at": "2026-11-04T14:10:29.003Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d449145491862f769a8bbb84",
   "url": "/evidence/?pick=n-d449145491862f769a8bbb84",
   "quote_text": "Getafe and Brighton meet in the UEFA Conference League on November 5, with the Spanish side",
   "fragment_from": 346,
   "fragment_to": 437,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/getafe/how-to-watch/how-to-watch-getafe-vs-brighton-date-time-live-stream-and-tv-channel_608389.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "08e3f7be1db95edef292487262acc5d65cde69a0b799c792ef5dde8c59829d16",
    "material_removed": false
   },
   "published_at": "2026-11-04T13:58:08.000Z",
   "detected_at": "2026-11-04T14:10:29.003Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T13:58:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T13:58:08.000Z",
    "detected_at": "2026-11-04T14:10:29.003Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5229b0ceda6cdc9a0a36cbfb",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-5229b0ceda6cdc9a0a36cbfb",
   "quote_text": "We say: Queens Park Rangers 2-1 Burnley",
   "fragment_from": 2823,
   "fragment_to": 2862,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/qpr/preview/qpr-vs-burnley-prediction-team-news-lineups_608199.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "33d31d4d3167100a09705da9ab8f864f20344757e244d0e940e5714a1994a231",
    "material_removed": false
   },
   "published_at": "2026-11-01T13:00:21.000Z",
   "detected_at": "2026-11-01T14:10:26.727Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-48454b875f50",
    "display_name": "Queens Park Rangers — Burnley",
    "competition_name": "EFL Championship",
    "starts_at": "2026-11-03T19:45:00.000Z",
    "url": "/football/matches/queens-park-rangers-vs-burnley-2026-11-03/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Queens Park Rangers 2-1 Burnley",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-01T13:00:21.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T13:00:21.000Z",
    "detected_at": "2026-11-01T14:10:26.727Z",
    "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": "Queens Park Rangers 2-1 Burnley",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Queens Park Rangers 2-1 Burnley"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Queens Park Rangers 1-1 Burnley."
   },
   "settlements": [
    {
     "operation_id": "5ece1f6a27b67395683945987cef9285cf70293664b32ca0124d6087725cdcb8",
     "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": "Queens Park Rangers",
     "decimal_odds": "2.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T17:59:58.815Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/qpr/preview/qpr-vs-burnley-prediction-team-news-lineups_608199.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-d703866fe833b3943e06a296",
   "url": "/evidence/?pick=n-d703866fe833b3943e06a296",
   "quote_text": "Lincoln could bring Tom Bayliss in for Varfolomeev after he came off the bench to score against Birmingham.",
   "fragment_from": 2140,
   "fragment_to": 2247,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/watford/preview/watford-vs-lincoln-prediction-team-news-lineups_608197.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fb8707f2190a78c43b2449bb18927fc60f48a916706e0be5b7e022d78d1b164c",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:28:07.000Z",
   "detected_at": "2026-11-01T13:10:36.932Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:28:07.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:28:07.000Z",
    "detected_at": "2026-11-01T13:10:36.932Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4d2c36acf662c5ddc60eaa65",
   "url": "/evidence/?pick=n-4d2c36acf662c5ddc60eaa65",
   "quote_text": "Boadu will lead the line for Watford alongside Iker Bravo after bagging a brace against Norwich.",
   "fragment_from": 1944,
   "fragment_to": 2040,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/watford/preview/watford-vs-lincoln-prediction-team-news-lineups_608197.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fb8707f2190a78c43b2449bb18927fc60f48a916706e0be5b7e022d78d1b164c",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:28:07.000Z",
   "detected_at": "2026-11-01T13:10:36.932Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:28:07.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:28:07.000Z",
    "detected_at": "2026-11-01T13:10:36.932Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-42b5839439b546bbc2e4f325",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-42b5839439b546bbc2e4f325",
   "quote_text": "We say: Watford 1-1 Lincoln City",
   "fragment_from": 2623,
   "fragment_to": 2655,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/watford/preview/watford-vs-lincoln-prediction-team-news-lineups_608197.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fb8707f2190a78c43b2449bb18927fc60f48a916706e0be5b7e022d78d1b164c",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:28:07.000Z",
   "detected_at": "2026-11-01T13:10:36.932Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-1442ea8592fd",
    "display_name": "Watford — Lincoln City",
    "competition_name": "EFL Championship",
    "starts_at": "2026-11-03T19:45:00.000Z",
    "url": "/football/matches/watford-vs-lincoln-city-2026-11-03/",
    "scoreline": "1-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Watford 1-1 Lincoln City",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-01T12:28:07.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:28:07.000Z",
    "detected_at": "2026-11-01T13:10:36.932Z",
    "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": "Watford 1-1 Lincoln City",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Watford 1-1 Lincoln City"
   },
   "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 Watford 1-0 Lincoln City."
   },
   "settlements": [
    {
     "operation_id": "846240d05f229bcc90088aa3a1c157111ec1a5f7ff7140602b1f7acb3c5899fe",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.3400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T18:33:41.191Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/watford/preview/watford-vs-lincoln-prediction-team-news-lineups_608197.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-088fb03a27ad10959b88d24f",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-088fb03a27ad10959b88d24f",
   "quote_text": "As a result, we are backing the Blades to pick up a big win.",
   "fragment_from": 3111,
   "fragment_to": 3171,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e76f592672fc7666531d8dc7e80747ce1224159769be8549f33f9a9803390d23",
    "material_removed": false
   },
   "published_at": "2026-11-01T11:47:00.000Z",
   "detected_at": "2026-11-01T12:10:03.213Z",
   "executed_at": "2026-11-02T18:33:40.367Z",
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-bc2859f14969",
    "display_name": "Preston North End — Sheffield United",
    "competition_name": "EFL Championship",
    "starts_at": "2026-11-03T19:45:00.000Z",
    "url": "/football/matches/preston-north-end-vs-sheffield-united-2026-11-03/",
    "scoreline": "2-3",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Sheffield United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "2.1000",
    "our_snapshot_at": "2026-11-01T12:08:53.542Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 11000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-01T11:47:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T11:47:00.000Z",
    "detected_at": "2026-11-01T12:10:03.213Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Sheffield United",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Sheffield United"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Preston North End 2-3 Sheffield United."
   },
   "settlements": [
    {
     "operation_id": "1f2541b36c7082199ba13b19e023ea5a390e83ec855bde229708a59b70d918f9",
     "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.1000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11000,
     "executed_at": "2026-11-02T18:33:40.367Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-f5418b8e3e726cd9d74cb059",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-f5418b8e3e726cd9d74cb059",
   "quote_text": "We say: Preston North End 0-2 Sheffield United",
   "fragment_from": 2946,
   "fragment_to": 2992,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e76f592672fc7666531d8dc7e80747ce1224159769be8549f33f9a9803390d23",
    "material_removed": false
   },
   "published_at": "2026-11-01T11:47:00.000Z",
   "detected_at": "2026-11-01T12:10:03.213Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-bc2859f14969",
    "display_name": "Preston North End — Sheffield United",
    "competition_name": "EFL Championship",
    "starts_at": "2026-11-03T19:45:00.000Z",
    "url": "/football/matches/preston-north-end-vs-sheffield-united-2026-11-03/",
    "scoreline": "2-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Preston North End 0-2 Sheffield United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-01T11:47:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T11:47:00.000Z",
    "detected_at": "2026-11-01T12:10:03.213Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Preston North End 0-2 Sheffield United",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Preston North End 0-2 Sheffield United"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Preston North End 2-3 Sheffield United."
   },
   "settlements": [
    {
     "operation_id": "43db8fde9914953611c6830798b2087ccb5ce672e925e742f5d46301303c9910",
     "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.1000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11000,
     "executed_at": "2026-11-02T18:33:40.600Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3326dbdb2b023ad8fa92b36a",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-3326dbdb2b023ad8fa92b36a",
   "quote_text": "We say: Wycombe Wanderers 1-1 Burton Albion",
   "fragment_from": 2724,
   "fragment_to": 2767,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-burton-albion-prediction-team-news-lineups_607978.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0a28b8837a1212b4aa7d794c33c9e45e9c46f8876bf4c76d1da78ed34035cfe9",
    "material_removed": false
   },
   "published_at": "2026-10-29T15:12:27.000Z",
   "detected_at": "2026-10-30T07:10:35.653Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-138a4a2e2da1",
    "display_name": "Wycombe Wanderers — Burton Albion",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-31T15:00:00.000Z",
    "url": "/football/matches/wycombe-wanderers-vs-burton-albion-2026-10-31/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Wycombe Wanderers 1-1 Burton Albion",
   "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-29T15:12:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T15:12:27.000Z",
    "detected_at": "2026-10-30T07:10:35.653Z",
    "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": "Wycombe Wanderers 1-1 Burton Albion",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Wycombe Wanderers 1-1 Burton Albion"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Wycombe Wanderers 2-0 Burton Albion."
   },
   "settlements": [
    {
     "operation_id": "a5321a577a6967de20fd98040398e27dc849dce5193a4a81331662b3fee49e08",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "4.2500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-31T07:23:09.110Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-burton-albion-prediction-team-news-lineups_607978.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1acaf65457aad59fe1715a59",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-1acaf65457aad59fe1715a59",
   "quote_text": "which is why we are backing them to pick up all three points",
   "fragment_from": 3252,
   "fragment_to": 3312,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "deed307d5b555cf5828e7d4f5a205450a78ae5122481ffe6f513d95c723034ef",
    "material_removed": false
   },
   "published_at": "2026-10-29T16:03:47.000Z",
   "detected_at": "2026-10-29T17:10:04.256Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-d5b344ae4ad6",
    "display_name": "Plymouth Argyle — Reading",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-31T12:30:00.000Z",
    "url": "/football/matches/plymouth-argyle-vs-reading-2026-10-31/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Reading",
   "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-29T16:03:47.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T16:03:47.000Z",
    "detected_at": "2026-10-29T17:10:04.256Z",
    "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": "Reading",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Reading"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Plymouth Argyle 0-0 Reading."
   },
   "settlements": [
    {
     "operation_id": "cbe0db9424a256505b31cada1d15648d7081e7a101812460a8569dea3fd63626",
     "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": "Reading",
     "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": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4124635a343036437f0b888d",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-4124635a343036437f0b888d",
   "quote_text": "We say: Plymouth Argyle 1-2 Reading",
   "fragment_from": 3113,
   "fragment_to": 3148,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "deed307d5b555cf5828e7d4f5a205450a78ae5122481ffe6f513d95c723034ef",
    "material_removed": false
   },
   "published_at": "2026-10-29T16:03:47.000Z",
   "detected_at": "2026-10-29T17:10:04.256Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-d5b344ae4ad6",
    "display_name": "Plymouth Argyle — Reading",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-31T12:30:00.000Z",
    "url": "/football/matches/plymouth-argyle-vs-reading-2026-10-31/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Plymouth Argyle 1-2 Reading",
   "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-29T16:03:47.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T16:03:47.000Z",
    "detected_at": "2026-10-29T17:10:04.256Z",
    "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": "Plymouth Argyle 1-2 Reading",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Plymouth Argyle 1-2 Reading"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Plymouth Argyle 0-0 Reading."
   },
   "settlements": [
    {
     "operation_id": "17f412fdbd6161f52202dee7fb20270be0982299672b28e1551a13d7e796f03a",
     "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": "Reading",
     "decimal_odds": "2.7650",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-31T07:03:25.206Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-618a4456374e264fd6db13c1",
   "url": "/evidence/?pick=n-618a4456374e264fd6db13c1",
   "quote_text": "Swindon Town produced a stunning upset in the 1969 final, defeating an Arsenal side who were two",
   "fragment_from": 1457,
   "fragment_to": 1553,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fleetwood-town/feature/five-of-the-biggest-efl-cup-shocks-as-fleetwood-town-stun-arsenal_607866.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc913304ae3db38ebc900f85794b7d09f43b3f2b9de80cd0927feba667881131",
    "material_removed": false
   },
   "published_at": "2026-10-28T15:20:49.000Z",
   "detected_at": "2026-10-28T16:10:17.581Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-28T15:20:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-28T15:20:49.000Z",
    "detected_at": "2026-10-28T16:10:17.581Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e1c4a419e9b43fdf8d836cfd",
   "url": "/evidence/?pick=n-e1c4a419e9b43fdf8d836cfd",
   "quote_text": "Sports Mole has taken a look at five of the biggest giant-killings in the competition's history.",
   "fragment_from": 1005,
   "fragment_to": 1101,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fleetwood-town/feature/five-of-the-biggest-efl-cup-shocks-as-fleetwood-town-stun-arsenal_607866.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc913304ae3db38ebc900f85794b7d09f43b3f2b9de80cd0927feba667881131",
    "material_removed": false
   },
   "published_at": "2026-10-28T15:20:49.000Z",
   "detected_at": "2026-10-28T16:10:17.581Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-28T15:20:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-28T15:20:49.000Z",
    "detected_at": "2026-10-28T16:10:17.581Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-562db1fcdb3016f9b9b872fd",
   "url": "/evidence/?pick=n-562db1fcdb3016f9b9b872fd",
   "quote_text": "Fleetwood Town produced one of the biggest shocks in EFL Cup history on Tuesday night",
   "fragment_from": 202,
   "fragment_to": 287,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fleetwood-town/feature/five-of-the-biggest-efl-cup-shocks-as-fleetwood-town-stun-arsenal_607866.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc913304ae3db38ebc900f85794b7d09f43b3f2b9de80cd0927feba667881131",
    "material_removed": false
   },
   "published_at": "2026-10-28T15:20:49.000Z",
   "detected_at": "2026-10-28T16:10:17.581Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-28T15:20:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-28T15:20:49.000Z",
    "detected_at": "2026-10-28T16:10:17.581Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-dc1b9a73546532d0ca8db3f0",
   "url": "/evidence/?pick=n-dc1b9a73546532d0ca8db3f0",
   "quote_text": "Savage said he felt Peterborough lacked \"belief\" against Huddersfield",
   "fragment_from": 1697,
   "fragment_to": 1766,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-peterborough-prediction-team-news-lineups_607458.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5e3eefd88d89f8158392dd1dc45c9d33ab96e66988e69a675d6a89b0f5f1fbc6",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:08:02.000Z",
   "detected_at": "2026-10-22T14:10:33.212Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T13:08:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:08:02.000Z",
    "detected_at": "2026-10-22T14:10:33.212Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-53af3e63a046eaee5c50a50d",
   "url": "/evidence/?pick=n-53af3e63a046eaee5c50a50d",
   "quote_text": "Harry Leonard is expected to continue up front",
   "fragment_from": 2692,
   "fragment_to": 2738,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-peterborough-prediction-team-news-lineups_607458.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5e3eefd88d89f8158392dd1dc45c9d33ab96e66988e69a675d6a89b0f5f1fbc6",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:08:02.000Z",
   "detected_at": "2026-10-22T14:10:33.212Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T13:08:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:08:02.000Z",
    "detected_at": "2026-10-22T14:10:33.212Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-538684bb307cb035f0b519d8",
   "url": "/evidence/?pick=n-538684bb307cb035f0b519d8",
   "quote_text": "Omar Sowunmi and Corey Whitely could all drop to the bench.",
   "fragment_from": 2359,
   "fragment_to": 2418,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-peterborough-prediction-team-news-lineups_607458.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5e3eefd88d89f8158392dd1dc45c9d33ab96e66988e69a675d6a89b0f5f1fbc6",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:08:02.000Z",
   "detected_at": "2026-10-22T14:10:33.212Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T13:08:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:08:02.000Z",
    "detected_at": "2026-10-22T14:10:33.212Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-cd176281f30751deb8619f49",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-cd176281f30751deb8619f49",
   "quote_text": "We say: Bromley 0-2 Peterborough United",
   "fragment_from": 3139,
   "fragment_to": 3178,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-peterborough-prediction-team-news-lineups_607458.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5e3eefd88d89f8158392dd1dc45c9d33ab96e66988e69a675d6a89b0f5f1fbc6",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:08:02.000Z",
   "detected_at": "2026-10-22T14:10:33.212Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-56991161cfb4",
    "display_name": "Bromley — Peterborough United",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": "/football/matches/bromley-vs-peterborough-united-2026-10-24/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Bromley 0-2 Peterborough United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T13:08:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:08:02.000Z",
    "detected_at": "2026-10-22T14:10:33.212Z",
    "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": "Bromley 0-2 Peterborough United",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Bromley 0-2 Peterborough United"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Bromley 1-1 Peterborough United."
   },
   "settlements": [
    {
     "operation_id": "6da2bcaf25329c700e768c3946068949a8eff45e1263b4989f45585ec94b6514",
     "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": "Peterborough United",
     "decimal_odds": "2.0900",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T00:51:13.858Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-peterborough-prediction-team-news-lineups_607458.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-37f9c38fa25a8657bb7ee36e",
   "url": "/evidence/?pick=n-37f9c38fa25a8657bb7ee36e",
   "quote_text": "Barnsley possible starting lineup:\n\nSlicker; Kay, Okedina, Shepherd, Larkeche; Kelly, McGeehan; Brownlie",
   "fragment_from": 2862,
   "fragment_to": 2966,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-barnsley-prediction-team-news-lineups_607461.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9dcb5631c037ccf02abaa7477397eff97620120ee1982bd11875c5c9e4bca894",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:53:53.000Z",
   "detected_at": "2026-10-22T14:10:32.194Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T13:53:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:53:53.000Z",
    "detected_at": "2026-10-22T14:10:32.194Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ef36f4219321296d7381f9fc",
   "url": "/evidence/?pick=n-ef36f4219321296d7381f9fc",
   "quote_text": "Reading are set to still be without George Earthy, Benn Ward and top scorer Jack Marriott",
   "fragment_from": 2012,
   "fragment_to": 2101,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-barnsley-prediction-team-news-lineups_607461.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9dcb5631c037ccf02abaa7477397eff97620120ee1982bd11875c5c9e4bca894",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:53:53.000Z",
   "detected_at": "2026-10-22T14:10:32.194Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T13:53:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:53:53.000Z",
    "detected_at": "2026-10-22T14:10:32.194Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2d1fde5e714ce3b47359171f",
   "url": "/evidence/?pick=n-2d1fde5e714ce3b47359171f",
   "quote_text": "The hosts currently sit sixth in the League One table, while the visitors are 22nd.",
   "fragment_from": 389,
   "fragment_to": 472,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-barnsley-prediction-team-news-lineups_607461.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9dcb5631c037ccf02abaa7477397eff97620120ee1982bd11875c5c9e4bca894",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:53:53.000Z",
   "detected_at": "2026-10-22T14:10:32.194Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T13:53:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:53:53.000Z",
    "detected_at": "2026-10-22T14:10:32.194Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-89b1c480d329726b4c9a8230",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-89b1c480d329726b4c9a8230",
   "quote_text": "We say: Reading 2-0 Barnsley",
   "fragment_from": 2997,
   "fragment_to": 3025,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-barnsley-prediction-team-news-lineups_607461.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9dcb5631c037ccf02abaa7477397eff97620120ee1982bd11875c5c9e4bca894",
    "material_removed": false
   },
   "published_at": "2026-10-22T13:53:53.000Z",
   "detected_at": "2026-10-22T14:10:32.194Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-6ea53411a498",
    "display_name": "Reading — Barnsley",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": "/football/matches/reading-vs-barnsley-2026-10-24/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Reading 2-0 Barnsley",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T13:53:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T13:53:53.000Z",
    "detected_at": "2026-10-22T14:10:32.194Z",
    "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": "Reading 2-0 Barnsley",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Reading 2-0 Barnsley"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Reading 2-1 Barnsley."
   },
   "settlements": [
    {
     "operation_id": "024ff63987f268b4fda5f6815522972b9dd5ad2bc32290b6216db1175167c0a1",
     "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": "Reading",
     "decimal_odds": "1.6100",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6100,
     "executed_at": "2026-10-24T00:51:14.407Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-barnsley-prediction-team-news-lineups_607461.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-cf808981fa3f0b4677478ea2",
   "url": "/evidence/?pick=n-cf808981fa3f0b4677478ea2",
   "quote_text": "Mansfield are likely to stick with the same side that beat Wimbledon on Tuesday, with goalscorers Smith",
   "fragment_from": 2376,
   "fragment_to": 2479,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/blackpool/preview/blackpool-vs-mansfield-prediction-team-news-lineups_607453.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9859fb68e1cb289b3b19ce2c085255b148eeab6a4eddcc2a8d64722aebf00f36",
    "material_removed": false
   },
   "published_at": "2026-10-22T12:34:38.000Z",
   "detected_at": "2026-10-22T13:10:13.531Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T12:34:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T12:34:38.000Z",
    "detected_at": "2026-10-22T13:10:13.531Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-fef5f5a9b8c4332a434d6743",
   "url": "/evidence/?pick=n-fef5f5a9b8c4332a434d6743",
   "quote_text": "Blackpool are set to make at least one change, with Leighton Clarkson expected to replace George",
   "fragment_from": 2078,
   "fragment_to": 2174,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/blackpool/preview/blackpool-vs-mansfield-prediction-team-news-lineups_607453.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9859fb68e1cb289b3b19ce2c085255b148eeab6a4eddcc2a8d64722aebf00f36",
    "material_removed": false
   },
   "published_at": "2026-10-22T12:34:38.000Z",
   "detected_at": "2026-10-22T13:10:13.531Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T12:34:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T12:34:38.000Z",
    "detected_at": "2026-10-22T13:10:13.531Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-969bce605df5b36a7fb7c8fd",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-969bce605df5b36a7fb7c8fd",
   "quote_text": "We say: Blackpool 1-1 Mansfield Town",
   "fragment_from": 2886,
   "fragment_to": 2922,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/blackpool/preview/blackpool-vs-mansfield-prediction-team-news-lineups_607453.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9859fb68e1cb289b3b19ce2c085255b148eeab6a4eddcc2a8d64722aebf00f36",
    "material_removed": false
   },
   "published_at": "2026-10-22T12:34:38.000Z",
   "detected_at": "2026-10-22T13:10:13.531Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-f62e305de0a1",
    "display_name": "Blackpool — Mansfield Town",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": "/football/matches/blackpool-vs-mansfield-town-2026-10-24/",
    "scoreline": "1-4",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Blackpool 1-1 Mansfield Town",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T12:34:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T12:34:38.000Z",
    "detected_at": "2026-10-22T13:10:13.531Z",
    "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": "Blackpool 1-1 Mansfield Town",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Blackpool 1-1 Mansfield Town"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-4",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Blackpool 1-4 Mansfield Town."
   },
   "settlements": [
    {
     "operation_id": "9d2ac4d432b9555e11806fbf66333e8eaa04bd23d6f8425131b9d96bc26c2f75",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.5200",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T00:51:21.706Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/blackpool/preview/blackpool-vs-mansfield-prediction-team-news-lineups_607453.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-bbd8a660fbb98abaf582292a",
   "url": "/evidence/?pick=n-bbd8a660fbb98abaf582292a",
   "quote_text": "head coach Johnnie Jackson suggested they have \"gone away from the Wimbledon that's got us success\"",
   "fragment_from": 1080,
   "fragment_to": 1179,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0bc57dc23b9b8e30674be2008dcdcd3e12341e4e009d123b5741d6b76a254589",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:44:29.000Z",
   "detected_at": "2026-10-22T12:10:01.602Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:44:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:44:29.000Z",
    "detected_at": "2026-10-22T12:10:01.602Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a5c3199b3dfed79d06a5cf06",
   "url": "/evidence/?pick=n-a5c3199b3dfed79d06a5cf06",
   "quote_text": "The hosts currently sit 16th in the League One table, while the visitors are 15th.",
   "fragment_from": 442,
   "fragment_to": 524,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0bc57dc23b9b8e30674be2008dcdcd3e12341e4e009d123b5741d6b76a254589",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:44:29.000Z",
   "detected_at": "2026-10-22T12:10:01.602Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:44:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:44:29.000Z",
    "detected_at": "2026-10-22T12:10:01.602Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-443dc7f1a8878fa92c376637",
   "url": "/evidence/?pick=n-443dc7f1a8878fa92c376637",
   "quote_text": "Wimbledon will be desperate to get back to winning ways on Saturday",
   "fragment_from": 541,
   "fragment_to": 608,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0bc57dc23b9b8e30674be2008dcdcd3e12341e4e009d123b5741d6b76a254589",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:44:29.000Z",
   "detected_at": "2026-10-22T12:10:01.602Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:44:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:44:29.000Z",
    "detected_at": "2026-10-22T12:10:01.602Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2520969a992e30bfa84bb90e",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-2520969a992e30bfa84bb90e",
   "quote_text": "We say: AFC Wimbledon 0-2 Wycombe Wanderers",
   "fragment_from": 2897,
   "fragment_to": 2940,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0bc57dc23b9b8e30674be2008dcdcd3e12341e4e009d123b5741d6b76a254589",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:44:29.000Z",
   "detected_at": "2026-10-22T12:10:01.602Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-c528341bc418",
    "display_name": "AFC Wimbledon — Wycombe Wanderers",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": "/football/matches/afc-wimbledon-vs-wycombe-wanderers-2026-10-24/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "AFC Wimbledon 0-2 Wycombe Wanderers",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T11:44:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:44:29.000Z",
    "detected_at": "2026-10-22T12:10:01.602Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "AFC Wimbledon 0-2 Wycombe Wanderers",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: AFC Wimbledon 0-2 Wycombe Wanderers"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was AFC Wimbledon 1-1 Wycombe Wanderers."
   },
   "settlements": [
    {
     "operation_id": "ebafe5ef6fdb2e0c4e7a7b79f86fd68da356b2b7f9ee605c27218da8a2d16974",
     "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": "Wycombe Wanderers",
     "decimal_odds": "1.8800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T00:51:46.481Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c3d1402089043faae55eb926",
   "url": "/evidence/?pick=n-c3d1402089043faae55eb926",
   "quote_text": "Isaac Hayden and Jaze Kabia picked up injuries at the weekend.",
   "fragment_from": 2601,
   "fragment_to": 2663,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "188ab0b64619ab1bdb243d87ed4100e8de07f1dd962393b62d9a48ca3b44433d",
    "material_removed": false
   },
   "published_at": "2026-10-19T14:38:05.000Z",
   "detected_at": "2026-10-19T15:10:10.447Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-19T14:38:05.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-19T14:38:05.000Z",
    "detected_at": "2026-10-19T15:10:10.447Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3e26dd23c21ff49089476330",
   "url": "/evidence/?pick=n-3e26dd23c21ff49089476330",
   "quote_text": "top scorer Jack Marriott remains sidelined with an injury.",
   "fragment_from": 1148,
   "fragment_to": 1206,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "188ab0b64619ab1bdb243d87ed4100e8de07f1dd962393b62d9a48ca3b44433d",
    "material_removed": false
   },
   "published_at": "2026-10-19T14:38:05.000Z",
   "detected_at": "2026-10-19T15:10:10.447Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-19T14:38:05.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-19T14:38:05.000Z",
    "detected_at": "2026-10-19T15:10:10.447Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-596bcde595387fb8066f6eaf",
   "url": "/evidence/?pick=n-596bcde595387fb8066f6eaf",
   "quote_text": "The hosts currently sit seventh in the League One table, while the visitors are ninth.",
   "fragment_from": 414,
   "fragment_to": 500,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "188ab0b64619ab1bdb243d87ed4100e8de07f1dd962393b62d9a48ca3b44433d",
    "material_removed": false
   },
   "published_at": "2026-10-19T14:38:05.000Z",
   "detected_at": "2026-10-19T15:10:10.447Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-19T14:38:05.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-19T14:38:05.000Z",
    "detected_at": "2026-10-19T15:10:10.447Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7f5a3bff3120ea4b63381493",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-7f5a3bff3120ea4b63381493",
   "quote_text": "We say: Reading 1-1 Leyton Orient",
   "fragment_from": 3043,
   "fragment_to": 3076,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "188ab0b64619ab1bdb243d87ed4100e8de07f1dd962393b62d9a48ca3b44433d",
    "material_removed": false
   },
   "published_at": "2026-10-19T14:38:05.000Z",
   "detected_at": "2026-10-19T15:10:10.447Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-e9a68fe36c36",
    "display_name": "Reading — Leyton Orient",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-21T19:00:00.000Z",
    "url": "/football/matches/reading-vs-leyton-orient-2026-10-21/",
    "scoreline": "1-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Reading 1-1 Leyton Orient",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-19T14:38:05.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-19T14:38:05.000Z",
    "detected_at": "2026-10-19T15:10:10.447Z",
    "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": "Reading 1-1 Leyton Orient",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Reading 1-1 Leyton Orient"
   },
   "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 Reading 1-0 Leyton Orient."
   },
   "settlements": [
    {
     "operation_id": "a0ab818ffc6af2ed6e7dc2f19d9bd17143399f43d1468a804bdb047ee489111b",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "4.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-22T11:52:01.498Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a9752dceb508091f80323895",
   "url": "/evidence/?pick=n-a9752dceb508091f80323895",
   "quote_text": "The hosts currently sit third in the League One table, while the visitors are 19th.",
   "fragment_from": 493,
   "fragment_to": 576,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/huddersfield-town/preview/huddersfield-vs-peterborough-prediction-team-news-lineups_607157.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0f665493ced9e300101cc95648d36fb17f2d4bc54089e9b10a57fdd293a2ab89",
    "material_removed": false
   },
   "published_at": "2026-10-18T11:03:06.000Z",
   "detected_at": "2026-10-18T13:10:02.653Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-18T11:03:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T11:03:06.000Z",
    "detected_at": "2026-10-18T13:10:02.653Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-174dd247cc200e63343df7bb",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-174dd247cc200e63343df7bb",
   "quote_text": "We say: Huddersfield Town 2-0 Peterborough United",
   "fragment_from": 2947,
   "fragment_to": 2996,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/huddersfield-town/preview/huddersfield-vs-peterborough-prediction-team-news-lineups_607157.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0f665493ced9e300101cc95648d36fb17f2d4bc54089e9b10a57fdd293a2ab89",
    "material_removed": false
   },
   "published_at": "2026-10-18T11:03:06.000Z",
   "detected_at": "2026-10-18T13:10:02.653Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-296e76021a8f",
    "display_name": "Huddersfield Town — Peterborough United",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-20T18:45:00.000Z",
    "url": "/football/matches/huddersfield-town-vs-peterborough-united-2026-10-20/",
    "scoreline": "4-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Huddersfield Town 2-0 Peterborough United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T11:03:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T11:03:06.000Z",
    "detected_at": "2026-10-18T13:10:02.653Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Huddersfield Town 2-0 Peterborough United",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Huddersfield Town 2-0 Peterborough United"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Huddersfield Town 4-1 Peterborough United."
   },
   "settlements": [
    {
     "operation_id": "8ad82ae3db95b4d1887446705f580b55e577f0435aefabcf4949b4443cccd9cb",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Huddersfield Town",
     "decimal_odds": "1.5450",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5450,
     "executed_at": "2026-10-22T11:08:31.442Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/huddersfield-town/preview/huddersfield-vs-peterborough-prediction-team-news-lineups_607157.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-9a0fe74a9ce7f5813fe47065",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-9a0fe74a9ce7f5813fe47065",
   "quote_text": "We say: Doncaster Rovers 1-2 Stockport County",
   "fragment_from": 2892,
   "fragment_to": 2937,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/doncaster-rovers/preview/doncaster-vs-stockport-prediction-team-news-lineups_607163.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b8beaf0f52aeba1dd24fd491c43adbd31a226c4a7d9f3ac41d50a4f7cda2d78",
    "material_removed": false
   },
   "published_at": "2026-10-18T11:58:18.000Z",
   "detected_at": "2026-10-18T12:10:00.384Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-882316de7d7d",
    "display_name": "Doncaster Rovers — Stockport County",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-20T18:45:00.000Z",
    "url": "/football/matches/doncaster-rovers-vs-stockport-county-2026-10-20/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Doncaster Rovers 1-2 Stockport County",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T11:58:18.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T11:58:18.000Z",
    "detected_at": "2026-10-18T12:10:00.384Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Doncaster Rovers 1-2 Stockport County",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Doncaster Rovers 1-2 Stockport County"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Doncaster Rovers 0-2 Stockport County."
   },
   "settlements": [
    {
     "operation_id": "2764eb81feee654490e1e2d8ed5c3efc742bd5daff68cf4f4d776b438dc9819f",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Stockport County",
     "decimal_odds": "1.9000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9000,
     "executed_at": "2026-10-22T12:01:41.718Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/doncaster-rovers/preview/doncaster-vs-stockport-prediction-team-news-lineups_607163.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7695e1c86efb0c3ced3213aa",
   "url": "/evidence/?pick=n-7695e1c86efb0c3ced3213aa",
   "quote_text": "However, it is worth noting that Bradford have lost to Burton in their last three meetings across",
   "fragment_from": 1876,
   "fragment_to": 1973,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
    "material_removed": false
   },
   "published_at": "2026-10-18T10:15:06.000Z",
   "detected_at": "2026-10-18T11:10:08.103Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-18T10:15:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-9a2dae15c9d3529da24e331f",
   "url": "/evidence/?pick=n-9a2dae15c9d3529da24e331f",
   "quote_text": "Bradford, meanwhile, could reward Swan and Powell with starts after the impact they made off the bench",
   "fragment_from": 2600,
   "fragment_to": 2702,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
    "material_removed": false
   },
   "published_at": "2026-10-18T10:15:06.000Z",
   "detected_at": "2026-10-18T11:10:08.103Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-18T10:15:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a5da68d1b717c27edfef566a",
   "url": "/evidence/?pick=n-a5da68d1b717c27edfef566a",
   "quote_text": "Finn Delap is expected to miss the game after picking up an injury, with George Evans likely to drop",
   "fragment_from": 2438,
   "fragment_to": 2538,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
    "material_removed": false
   },
   "published_at": "2026-10-18T10:15:06.000Z",
   "detected_at": "2026-10-18T11:10:08.103Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-18T10:15:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c1c516879588b1a644ff248d",
   "url": "/evidence/?pick=n-c1c516879588b1a644ff248d",
   "quote_text": "Burton could hand Arubi a start after his wonder goal against Peterborough, with Matthew Dennis",
   "fragment_from": 2318,
   "fragment_to": 2413,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
    "material_removed": false
   },
   "published_at": "2026-10-18T10:15:06.000Z",
   "detected_at": "2026-10-18T11:10:08.103Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-18T10:15:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3b894fbbd7bb58973ac4f157",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3b894fbbd7bb58973ac4f157",
   "quote_text": "which is why we are backing them to pick up the win",
   "fragment_from": 3212,
   "fragment_to": 3263,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
    "material_removed": false
   },
   "published_at": "2026-10-18T10:15:06.000Z",
   "detected_at": "2026-10-18T11:10:08.103Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": "",
   "cause_code": "no_price_at_capture",
   "event": {
    "event_id": "s-311960134477",
    "display_name": "Burton Albion — Bradford City",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-20T18:45:00.000Z",
    "url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Bradford City",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T10:15:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "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": "Bradford City",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Bradford City"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Burton Albion 0-0 Bradford City."
   },
   "settlements": [
    {
     "operation_id": "a5606344165bd052f4ac48eb166f64b76190150a714fa419d70aa915451ffe73",
     "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": "Bradford City",
     "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": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4e97ba392516a6ae1aa2ff93",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-4e97ba392516a6ae1aa2ff93",
   "quote_text": "We say: Burton Albion 1-2 Bradford City",
   "fragment_from": 3079,
   "fragment_to": 3118,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
    "material_removed": false
   },
   "published_at": "2026-10-18T10:15:06.000Z",
   "detected_at": "2026-10-18T11:10:08.103Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-311960134477",
    "display_name": "Burton Albion — Bradford City",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-20T18:45:00.000Z",
    "url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Burton Albion 1-2 Bradford City",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T10:15:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Burton Albion 1-2 Bradford City",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Burton Albion 1-2 Bradford City"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Burton Albion 0-0 Bradford City."
   },
   "settlements": [
    {
     "operation_id": "12d1312207e4cc90982d5b67f278eb84fafc4d71d7d9b65de033d70b2e63a2a1",
     "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": "Bradford City",
     "decimal_odds": "2.0500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-22T11:28:51.019Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ebb866a5d4141ac88ea61ced",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-ebb866a5d4141ac88ea61ced",
   "quote_text": "We say: Bromley 0-1 Leicester City",
   "fragment_from": 2986,
   "fragment_to": 3020,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-leicester-prediction-team-news-lineups_607150.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3aa582700888c05c8b0809d5be3c4df646b3317fb3ddbbc5f7724a00d66d3eee",
    "material_removed": false
   },
   "published_at": "2026-10-18T09:37:21.000Z",
   "detected_at": "2026-10-18T10:09:59.624Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-cadc58b43e96",
    "display_name": "Bromley — Leicester City",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-20T18:45:00.000Z",
    "url": "/football/matches/bromley-vs-leicester-city-2026-10-20/",
    "scoreline": "0-4",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Bromley 0-1 Leicester City",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T09:37:21.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T09:37:21.000Z",
    "detected_at": "2026-10-18T10:09:59.624Z",
    "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": "Bromley 0-1 Leicester City",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Bromley 0-1 Leicester City"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-4",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Bromley 0-4 Leicester City."
   },
   "settlements": [
    {
     "operation_id": "456f370d2cfebbe817e7f64dde83328bbc15058b82fdc699b239b4bc359c572d",
     "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": "Leicester City",
     "decimal_odds": "1.7500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7500,
     "executed_at": "2026-10-22T12:38:27.627Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-leicester-prediction-team-news-lineups_607150.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-9df8f7e87607f9a8b6a339b2",
   "url": "/evidence/?pick=n-9df8f7e87607f9a8b6a339b2",
   "quote_text": "Manu Kone (Roma)\n\n© Iconsport / LaPresse\n\nChelsea could also revisit their reported interest in Manu Kone in January",
   "fragment_from": 2681,
   "fragment_to": 2797,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5f8d7fcf510094ab866d9544",
   "url": "/evidence/?pick=n-5f8d7fcf510094ab866d9544",
   "quote_text": "Chelsea reportedly made an unsuccessful attempt to sign Scott during the summer",
   "fragment_from": 2289,
   "fragment_to": 2368,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b02c8a7cebcd14461532fea4",
   "url": "/evidence/?pick=n-b02c8a7cebcd14461532fea4",
   "quote_text": "Alex Scott is another potential target for Chelsea, with the 23-year-old attracting interest from several major clubs",
   "fragment_from": 1956,
   "fragment_to": 2073,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-25bbea3a37a126acad9182f4",
   "url": "/evidence/?pick=n-25bbea3a37a126acad9182f4",
   "quote_text": "The Senegal international was identified as a potential replacement for Fernandez",
   "fragment_from": 1225,
   "fragment_to": 1306,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-adebf7efc7e52b263d4bed21",
   "url": "/evidence/?pick=n-adebf7efc7e52b263d4bed21",
   "quote_text": "Lamine Camara is an obvious option for Chelsea to consider after coming close to signing him during the summer",
   "fragment_from": 1096,
   "fragment_to": 1206,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b3080b35fbe48c3e91bc3931",
   "url": "/evidence/?pick=n-b3080b35fbe48c3e91bc3931",
   "quote_text": "Here, Sports Mole takes a look at three midfielders Chelsea could target in the January transfer window.",
   "fragment_from": 953,
   "fragment_to": 1057,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7fcfda181a4857eafb776b9a",
   "url": "/evidence/?pick=n-7fcfda181a4857eafb776b9a",
   "quote_text": "Chelsea also sold Enzo Fernandez to Manchester City for £125m at the end of the summer transfer window",
   "fragment_from": 758,
   "fragment_to": 860,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4feef9b88fb8575cf4000ef1",
   "url": "/evidence/?pick=n-4feef9b88fb8575cf4000ef1",
   "quote_text": "is expected to be absent for around three months, potentially ruling him out until mid-January.",
   "fragment_from": 499,
   "fragment_to": 594,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-522d56377f92cf5f6ee0e461",
   "url": "/evidence/?pick=n-522d56377f92cf5f6ee0e461",
   "quote_text": "James suffered the injury in training ahead of Chelsea's 5-1 win over Bournemouth",
   "fragment_from": 413,
   "fragment_to": 494,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-55f7e09f57685e2bf037c608",
   "url": "/evidence/?pick=n-55f7e09f57685e2bf037c608",
   "quote_text": "Chelsea may be forced to revisit their midfield recruitment plans when the January transfer window opens",
   "fragment_from": 252,
   "fragment_to": 356,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-de44099a960195d0f96cf80b",
   "url": "/evidence/?pick=n-de44099a960195d0f96cf80b",
   "quote_text": "Reece James injury: Three replacements Chelsea can sign in January after latest blow",
   "fragment_from": 0,
   "fragment_to": 84,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/chelsea/feature/three-reece-james-replacements-chelsea-can-sign-in-january-after-latest-injury-blow_607058.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2b9c2aebcf2892a78e23c7685d3e437dc1e69d9a1685d279154ce87a2bf91084",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:28:03.000Z",
   "detected_at": "2026-10-16T15:09:49.206Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:28:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:28:03.000Z",
    "detected_at": "2026-10-16T15:09:49.206Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5b527a2eea9046e591f2202f",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-5b527a2eea9046e591f2202f",
   "quote_text": "We say: Wigan Athletic 0-2 Reading",
   "fragment_from": 2880,
   "fragment_to": 2914,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/wigan-athletic/preview/wigan-vs-reading-prediction-team-news-lineups_606966.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "92dbd961cf230c96f51f6c6a0a604156a4046d45d721d528ac28ef3b0c34f3f3",
    "material_removed": false
   },
   "published_at": "2026-10-15T14:02:00.000Z",
   "detected_at": "2026-10-15T15:09:55.208Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-70923fb1e8fb",
    "display_name": "Wigan Athletic — Reading",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-17T14:00:00.000Z",
    "url": "/football/matches/wigan-athletic-vs-reading-2026-10-17/",
    "scoreline": "1-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Wigan Athletic 0-2 Reading",
   "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-15T14:02:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T14:02:00.000Z",
    "detected_at": "2026-10-15T15:09:55.208Z",
    "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": "Wigan Athletic 0-2 Reading",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Wigan Athletic 0-2 Reading"
   },
   "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 Wigan Athletic 1-0 Reading."
   },
   "settlements": [
    {
     "operation_id": "a6d2f16804c1179e46c985be89f4901dfca41ed77c53f35ab23bbb077dd73398",
     "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": "Reading",
     "decimal_odds": "1.9800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-22T11:34:14.565Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/wigan-athletic/preview/wigan-vs-reading-prediction-team-news-lineups_606966.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-6fbf40b7667f3f45d9c5dc3f",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-6fbf40b7667f3f45d9c5dc3f",
   "quote_text": "We say: Leicester City 0-1 Doncaster Rovers",
   "fragment_from": 3173,
   "fragment_to": 3216,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/leicester-city/preview/leicester-vs-doncaster-prediction-team-news-lineups_606957.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41635afe6e67dfd387e8107f12b1767a6e957a3011704efb069351f573290805",
    "material_removed": false
   },
   "published_at": "2026-10-15T12:04:49.000Z",
   "detected_at": "2026-10-15T13:09:48.923Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-15T12:04:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T12:04:49.000Z",
    "detected_at": "2026-10-15T13:09:48.923Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b1140a896bf7836190ad14f5",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-b1140a896bf7836190ad14f5",
   "quote_text": "We say: Wycombe Wanderers 2-0 Notts County",
   "fragment_from": 3014,
   "fragment_to": 3056,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-notts-county-prediction-team-news-lineups_606959.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0d1c8ecbc28fe96981059be28f1adbe170ea74d35c415b93f1121048f4f848c1",
    "material_removed": false
   },
   "published_at": "2026-10-15T12:38:24.000Z",
   "detected_at": "2026-10-15T13:09:48.527Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-341d33b6c47d",
    "display_name": "Wycombe Wanderers — Notts County",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-17T14:00:00.000Z",
    "url": "/football/matches/wycombe-wanderers-vs-notts-county-2026-10-17/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Wycombe Wanderers 2-0 Notts County",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "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-15T12:38:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T12:38:24.000Z",
    "detected_at": "2026-10-15T13:09:48.527Z",
    "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": "Wycombe Wanderers 2-0 Notts County",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Wycombe Wanderers 2-0 Notts County"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Matched: the final score was Wycombe Wanderers 2-0 Notts County."
   },
   "settlements": [
    {
     "operation_id": "33edbc4dc7e5c8410da7a22ec058e4cac878a643fd87876593847c84f9625f98",
     "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": "Wycombe Wanderers",
     "decimal_odds": "1.9450",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9450,
     "executed_at": "2026-10-22T12:11:33.058Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-notts-county-prediction-team-news-lineups_606959.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-0b205e4ca6e09fd3e223e881",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-0b205e4ca6e09fd3e223e881",
   "quote_text": "We say: Bradford City 1-0 Stevenage",
   "fragment_from": 3273,
   "fragment_to": 3308,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-stevenage-prediction-team-news-lineups_606953.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ee3fa2f4d7eefd7cc570b03ae0155933a503d3b356fce8c0b76e4de02036fc81",
    "material_removed": false
   },
   "published_at": "2026-10-15T11:32:16.000Z",
   "detected_at": "2026-10-15T12:09:50.493Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-36215012697f",
    "display_name": "Bradford City — Stevenage",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-17T14:00:00.000Z",
    "url": "/football/matches/bradford-city-vs-stevenage-2026-10-17/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Bradford City 1-0 Stevenage",
   "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-15T11:32:16.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T11:32:16.000Z",
    "detected_at": "2026-10-15T12:09:50.493Z",
    "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": "Bradford City 1-0 Stevenage",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Bradford City 1-0 Stevenage"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Bradford City 2-0 Stevenage."
   },
   "settlements": [
    {
     "operation_id": "d4f32f0f5bb0d09954fb7b537b30d287c18c36bc8d9aa75aae345efb1b25d9bf",
     "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": "Bradford City",
     "decimal_odds": "1.9300",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9300,
     "executed_at": "2026-10-22T11:06:19.927Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-stevenage-prediction-team-news-lineups_606953.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-bd3ec5be3a200631d02cb43d",
   "url": "/evidence/?pick=n-bd3ec5be3a200631d02cb43d",
   "quote_text": "Olympiacos possible starting lineup:",
   "fragment_from": 3211,
   "fragment_to": 3247,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
    "material_removed": false
   },
   "published_at": "2026-10-13T14:58:27.000Z",
   "detected_at": "2026-10-13T17:09:49.316Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-13T14:58:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-927ac4eedc38dccbba75e9bf",
   "url": "/evidence/?pick=n-927ac4eedc38dccbba75e9bf",
   "quote_text": "Marseille possible starting lineup:",
   "fragment_from": 3079,
   "fragment_to": 3114,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
    "material_removed": false
   },
   "published_at": "2026-10-13T14:58:27.000Z",
   "detected_at": "2026-10-13T17:09:49.316Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-13T14:58:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3fcce35cb883d2b25f41b139",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3fcce35cb883d2b25f41b139",
   "quote_text": "we are backing them to pick up all three points",
   "fragment_from": 3512,
   "fragment_to": 3559,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
    "material_removed": false
   },
   "published_at": "2026-10-13T14:58:27.000Z",
   "detected_at": "2026-10-13T17:09:49.316Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-50cbf0117aea",
    "display_name": "Olympique de Marseille — Olympiakos Piraeus",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-15T19:00:00.000Z",
    "url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Olympiakos Piraeus",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "win",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-13T14:58:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "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": "Olympiakos Piraeus",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Olympiakos Piraeus"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Olympique de Marseille 0-1 Olympiakos Piraeus."
   },
   "settlements": [
    {
     "operation_id": "0740c8081be22b2a057eba105c2c277858b99486907f5a8036a7de73c6375ee5",
     "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": "Olympiakos Piraeus",
     "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": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-978d24fcdd5fef55870f7287",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-978d24fcdd5fef55870f7287",
   "quote_text": "We say: Marseille 1-2 Olympiacos",
   "fragment_from": 3351,
   "fragment_to": 3383,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
    "material_removed": false
   },
   "published_at": "2026-10-13T14:58:27.000Z",
   "detected_at": "2026-10-13T17:09:49.316Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-50cbf0117aea",
    "display_name": "Olympique de Marseille — Olympiakos Piraeus",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-15T19:00:00.000Z",
    "url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Olympique de Marseille 1-2 Olympiakos Piraeus",
   "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-13T14:58:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "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": "Olympique de Marseille 1-2 Olympiakos Piraeus",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Olympique de Marseille 1-2 Olympiakos Piraeus"
   },
   "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 Olympique de Marseille 0-1 Olympiakos Piraeus."
   },
   "settlements": [
    {
     "operation_id": "3614051e42bfc189681e3a368a64bee09968e71e1261773d933d7e99c9995449",
     "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": "Olympiakos Piraeus",
     "decimal_odds": "2.9500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 19500,
     "executed_at": "2026-10-27T02:24:52.605Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Matthew Cooper",
    "publisher": "Sports Mole",
    "forecaster": "Matthew Cooper",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-fc68c0239175de6df40c9840",
   "url": "/evidence/?pick=n-fc68c0239175de6df40c9840",
   "quote_text": "Although Reading are missing some key players, the Royals should have enough quality to beat an MK",
   "fragment_from": 2999,
   "fragment_to": 3097,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mk-dons/preview/mk-dons-vs-reading-prediction-team-news-lineups_606472.html",
    "display_name": null,
    "speaker": "Matthew Cooper",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f63d126e8594d9325bcb6f28893886ec5c84ef1e8d8a8f84673f1bad7919225e",
    "material_removed": false
   },
   "published_at": "2026-10-08T13:30:02.000Z",
   "detected_at": "2026-10-08T14:09:17.112Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-08T13:30:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-08T13:30:02.000Z",
    "detected_at": "2026-10-08T14:09:17.112Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 0,
  "service": 5,
  "ruleset_version": "3"
 },
 "standing": {
  "titles": [
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–0 · Wycombe Wanderers v Notts County · 17 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 2–0 · Wycombe Wanderers v Notts County · 17 Oct 2026",
    "rationale": "Correct score 2–0 called before the match; 2 other tipsters and sources named an exact score on this match, 0 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-all-event",
    "alt": "Matthew Cooper · Exact score 2–0 · Wycombe Wanderers v Notts County · 17 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/matthew-cooper/#title-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-bafc952d44e2ffd177429614/cs-10-all-event-m-light.svg\" alt=\"Matthew Cooper · Exact score 2–0 · Wycombe Wanderers v Notts County · 17 Oct 2026 · Tracked by Forecast Record\" width=\"908\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 15 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-17",
    "evidence_through": "2026-10-17",
    "earned_at": "2026-10-17",
    "published_at": "2026-10-21",
    "visible_until": "2027-01-15",
    "badge_label": "Exact score 2–0 · 17 Oct",
    "scope_words": null,
    "title_id": "zk-334c891b2465eb9abfd5",
    "evidence_items": [
     {
      "nid": "n-b1140a896bf7836190ad14f5",
      "data": "2026-10-17",
      "match": "Wycombe Wanderers v Notts County",
      "said_text": "Correct score: Wycombe Wanderers 2-0 Notts County",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "2 other tipsters and sources named an exact score on this match, 0 right",
      "url": "/authors/matthew-cooper/picks/2/#pick-n-b1140a896bf7836190ad14f5"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1234,
       "height": 40,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1234,
       "height": 40,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 908,
       "height": 28,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 908,
       "height": 28,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 709,
       "height": 20,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 709,
       "height": 20,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-bafc952d44e2ffd177429614/cs-10-all-event-card.svg"
    },
    "profile_anchor": "title-334c891b2465",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–1 · Reading v Bradford City · 3 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-8d5ad8b943",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 1–1 · Reading v Bradford City · 3 Oct 2026",
    "rationale": "Correct score 1–1 called before the match; 3 other tipsters and sources named an exact score on this match, 1 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-8d5ad8b943-event",
    "alt": "Matthew Cooper · Exact score 1–1 · Reading v Bradford City · 3 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/matthew-cooper/#title-exact-score-called-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-m-light.svg\" alt=\"Matthew Cooper · Exact score 1–1 · Reading v Bradford City · 3 Oct 2026 · Tracked by Forecast Record\" width=\"827\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 1 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-03",
    "evidence_through": "2026-10-03",
    "earned_at": "2026-10-03",
    "published_at": "2026-10-21",
    "visible_until": "2027-01-01",
    "badge_label": "Exact score 1–1 · 3 Oct",
    "scope_words": null,
    "title_id": "zk-8d5ad8b943f26de2c405",
    "evidence_items": [
     {
      "nid": "n-d2447cd6f819592280760926",
      "data": "2026-10-03",
      "match": "Reading v Bradford City",
      "said_text": "Correct score: Reading 1-1 Bradford City",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "3 other tipsters and sources named an exact score on this match, 1 right",
      "url": "/authors/matthew-cooper/picks/2/#pick-n-d2447cd6f819592280760926"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1124,
       "height": 40,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1124,
       "height": 40,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 827,
       "height": 28,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 827,
       "height": 28,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 645,
       "height": 20,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 645,
       "height": 20,
       "url": "/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-bafc952d44e2ffd177429614/cs-10-z-8d5ad8b943-event-card.svg"
    },
    "profile_anchor": "title-8d5ad8b943f2",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called-exact-score-called"
   }
  ],
  "publication_mode": "top20",
  "empty_reason": null,
  "rules_version": "catalog-1",
  "insufficient": [],
  "badges_on_page": 0,
  "header_titles": [
   {
    "title_id": "zk-334c891b2465eb9abfd5",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 2–0 · 17 Oct",
    "body": "Exact score 2–0 · Wycombe Wanderers v Notts County · 17 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-334c891b2465",
    "event_at": "2026-10-17",
    "url": "/titles/cs-10-exact-score-called/"
   },
   {
    "title_id": "zk-8d5ad8b943f26de2c405",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 1–1 · 3 Oct",
    "body": "Exact score 1–1 · Reading v Bradford City · 3 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-8d5ad8b943f2",
    "event_at": "2026-10-03",
    "url": "/titles/cs-10-exact-score-called/"
   }
  ],
  "record_origin": [],
  "recent_record": [
   {
    "code_name": "CS-10",
    "body": "Exact score 2–0 · Wycombe Wanderers v Notts County · 17 Oct 2026",
    "event_at": "2026-10-17",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-334c891b2465"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 1–1 · Reading v Bradford City · 3 Oct 2026",
    "event_at": "2026-10-03",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-8d5ad8b943f2"
   }
  ],
  "record_details": [],
  "history": []
 },
 "retro": null,
 "late": null,
 "price_vs_market": null,
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "sportsmole.co.uk",
   "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-reading-prediction-team-news-lineups_608494.html"
  },
  "observed_from": "2026-09-27",
  "observed_to": "2026-11-07",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "market_price",
  "series": "Recorded before kick-off, at our recorded market price",
  "restored": false,
  "headline_kind": "live_snapshot",
  "headline_part": "live",
  "settled_picks": 1,
  "matches": 1,
  "void": 0,
  "net_points_hundredths": 11000,
  "staked_hundredths": 10000,
  "return_percent": "110.00",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-11-03",
  "period_to": "2026-11-03",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 1 settled live pick by Matthew Cooper before kick-off across 1 match on 3 November 2026. Won 1 of 1 settled live pick at our recorded market prices. Of the 34 predictions we hold for Matthew Cooper, 27 are linked to matches: 27 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "1",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "1",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "+110 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "+110.0%",
    "anchor": "/methodology/#roi",
    "note": null
   }
  ],
  "limitations": [],
  "other_series": [],
  "return_over_time": [],
  "return_over_time_parts": {
   "live": {
    "part": "live",
    "label": "Recorded by us before kick-off",
    "series_code": "market_price",
    "price_rule": "Return at our recorded market price",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. Each pick was recorded by us before kick-off and settled after the match.",
    "settled_picks": 1,
    "matches": 1,
    "match_dates": 1,
    "period_from": "2026-11-03",
    "period_to": "2026-11-03",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": 11000,
    "low": {
     "date": "2026-11-03",
     "cumulative_points_hundredths": 11000,
     "after_picks": 1
    },
    "high": {
     "date": "2026-11-03",
     "cumulative_points_hundredths": 11000,
     "after_picks": 1
    },
    "line_drawn": false,
    "steps": [
     {
      "date": "2026-11-03",
      "cumulative_points_hundredths": 11000,
      "n": 1,
      "picks": 1
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 1 settled live pick by Matthew Cooper before kick-off across 1 match on 3 November 2026. Won 1 of 1 settled live pick at our recorded market prices. Of the 34 predictions we hold for Matthew Cooper, 27 are linked to matches: 27 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/matthew-cooper/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 34,
   "under_review": 0,
   "no_match_linked": 7,
   "proven_predictions": 27,
   "proven_checked": 27,
   "proven_measured": 24,
   "proven_dates": 10,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 27,
     "checked": 27,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 1,
      "void": 0,
      "matches": 1,
      "net_points_hundredths": 11000,
      "staked_hundredths": 10000,
      "return_percent": "110.00",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2026-11-03",
      "period_to": "2026-11-03",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "0.0",
      "checked_after_kickoff_picks": 0
     },
     "same_picks": [],
     "score": {
      "score_forecasts": 23,
      "exact_hits": 2,
      "exact_rate": 8.7,
      "outcome_checked": 23,
      "outcome_hits": 11,
      "outcome_rate": 47.8,
      "baseline_matches": 13,
      "baseline_distinct_matches": 13,
      "outcome_hits_on_baseline": 7,
      "outcome_rate_on_baseline": 53.8,
      "favourite_hits": 8,
      "favourite_rate": 61.5,
      "price_basis": "our pre-match snapshot",
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": [
       "Outcome checked. No betting return is attributed to these score forecasts.",
       "2 of 23 score forecasts named the exact score (8.7%).",
       "The result implied by the named score was right in 7 of 13 matches; the market favourite was right in 8 of the same 13 matches.",
       "A pre-match market favourite is known for 13 of 23 forecasts; the comparison uses only those.",
       "The market favourite is the home win, draw or away win with the lowest price in our own odds snapshot taken before kick-off.",
       "The implied result follows from the named score (2-1 implies a home win)."
      ]
     },
     "eligible": {
      "checked": 27,
      "priced": 1
     },
     "accuracy": {
      "picks": 1,
      "won": 1,
      "won_percent": "100.0",
      "implied_percent": "47.6",
      "left_out": 0,
      "by_market": [
       {
        "market": "Match result",
        "won": 1,
        "picks": 1,
        "implied_percent": "47.6"
       }
      ]
     }
    },
    {
     "code": "archived",
     "title": "Archived before kick-off",
     "explanation": "Restored from a copy saved by an independent web archive before kick-off.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    },
    {
     "code": "found_after",
     "title": "Found after the match",
     "explanation": "First found after the match; the date is the one the source states.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    }
   ]
  },
  "live_alongside": null,
  "headline_record_ids": [
   "n-088fb03a27ad10959b88d24f"
  ],
  "interval_low": null,
  "interval_high": null,
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 3 November 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-09-27",
  "record_to": "2026-11-07"
 },
 "recorded_picks": [
  {
   "record_id": "n-088fb03a27ad10959b88d24f",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-088fb03a27ad10959b88d24f",
   "match": "Preston North End v Sheffield United",
   "match_url": "/football/matches/preston-north-end-vs-sheffield-united-2026-11-03/",
   "kickoff": "2026-11-03T19:45:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 55.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Sheffield United",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.1000",
   "published_at": "2026-11-01T11:47:00.000Z",
   "recorded_at": "2026-11-01T12:10:03.213Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.1000",
    "result": "Won",
    "points_hundredths": 11000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-088fb03a27ad10959b88d24f",
    "quote_text": "As a result, we are backing the Blades to pick up a big win.",
    "fragment_from": 3111,
    "fragment_to": 3171,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e76f592672fc7666531d8dc7e80747ce1224159769be8549f33f9a9803390d23",
     "material_removed": false
    },
    "published_at": "2026-11-01T11:47:00.000Z",
    "detected_at": "2026-11-01T12:10:03.213Z",
    "executed_at": "2026-11-02T18:33:40.367Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-bc2859f14969",
     "display_name": "Preston North End — Sheffield United",
     "competition_name": "EFL Championship",
     "starts_at": "2026-11-03T19:45:00.000Z",
     "url": "/football/matches/preston-north-end-vs-sheffield-united-2026-11-03/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Sheffield United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1000",
     "our_snapshot_at": "2026-11-01T12:08:53.542Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 11000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-01T11:47:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T11:47:00.000Z",
     "detected_at": "2026-11-01T12:10:03.213Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Sheffield United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Sheffield United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Preston North End 2-3 Sheffield United."
    },
    "settlements": [
     {
      "operation_id": "1f2541b36c7082199ba13b19e023ea5a390e83ec855bde229708a59b70d918f9",
      "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.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-11-02T18:33:40.367Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sheffield United to win"
   }
  },
  {
   "record_id": "n-5229b0ceda6cdc9a0a36cbfb",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-5229b0ceda6cdc9a0a36cbfb",
   "match": "Queens Park Rangers v Burnley",
   "match_url": "/football/matches/queens-park-rangers-vs-burnley-2026-11-03/",
   "kickoff": "2026-11-03T19:45:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 53.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Queens Park Rangers 2-1 Burnley",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-01T13:00:21.000Z",
   "recorded_at": "2026-11-01T14:10:26.727Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-5229b0ceda6cdc9a0a36cbfb",
    "quote_text": "We say: Queens Park Rangers 2-1 Burnley",
    "fragment_from": 2823,
    "fragment_to": 2862,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/qpr/preview/qpr-vs-burnley-prediction-team-news-lineups_608199.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "33d31d4d3167100a09705da9ab8f864f20344757e244d0e940e5714a1994a231",
     "material_removed": false
    },
    "published_at": "2026-11-01T13:00:21.000Z",
    "detected_at": "2026-11-01T14:10:26.727Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-48454b875f50",
     "display_name": "Queens Park Rangers — Burnley",
     "competition_name": "EFL Championship",
     "starts_at": "2026-11-03T19:45:00.000Z",
     "url": "/football/matches/queens-park-rangers-vs-burnley-2026-11-03/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Queens Park Rangers 2-1 Burnley",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-01T13:00:21.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T13:00:21.000Z",
     "detected_at": "2026-11-01T14:10:26.727Z",
     "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": "Queens Park Rangers 2-1 Burnley",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Queens Park Rangers 2-1 Burnley"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Queens Park Rangers 1-1 Burnley."
    },
    "settlements": [
     {
      "operation_id": "5ece1f6a27b67395683945987cef9285cf70293664b32ca0124d6087725cdcb8",
      "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": "Queens Park Rangers",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T17:59:58.815Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/qpr/preview/qpr-vs-burnley-prediction-team-news-lineups_608199.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Queens Park Rangers 2-1 Burnley"
   }
  },
  {
   "record_id": "n-42b5839439b546bbc2e4f325",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-42b5839439b546bbc2e4f325",
   "match": "Watford v Lincoln City",
   "match_url": "/football/matches/watford-vs-lincoln-city-2026-11-03/",
   "kickoff": "2026-11-03T19:45:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 54.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Watford 1-1 Lincoln City",
   "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-11-01T12:28:07.000Z",
   "recorded_at": "2026-11-01T13:10:36.932Z",
   "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": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-42b5839439b546bbc2e4f325",
    "quote_text": "We say: Watford 1-1 Lincoln City",
    "fragment_from": 2623,
    "fragment_to": 2655,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/watford/preview/watford-vs-lincoln-prediction-team-news-lineups_608197.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fb8707f2190a78c43b2449bb18927fc60f48a916706e0be5b7e022d78d1b164c",
     "material_removed": false
    },
    "published_at": "2026-11-01T12:28:07.000Z",
    "detected_at": "2026-11-01T13:10:36.932Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1442ea8592fd",
     "display_name": "Watford — Lincoln City",
     "competition_name": "EFL Championship",
     "starts_at": "2026-11-03T19:45:00.000Z",
     "url": "/football/matches/watford-vs-lincoln-city-2026-11-03/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Watford 1-1 Lincoln City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-01T12:28:07.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T12:28:07.000Z",
     "detected_at": "2026-11-01T13:10:36.932Z",
     "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": "Watford 1-1 Lincoln City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Watford 1-1 Lincoln City"
    },
    "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 Watford 1-0 Lincoln City."
    },
    "settlements": [
     {
      "operation_id": "846240d05f229bcc90088aa3a1c157111ec1a5f7ff7140602b1f7acb3c5899fe",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T18:33:41.191Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/watford/preview/watford-vs-lincoln-prediction-team-news-lineups_608197.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Watford 1-1 Lincoln City"
   }
  },
  {
   "record_id": "n-f5418b8e3e726cd9d74cb059",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-f5418b8e3e726cd9d74cb059",
   "match": "Preston North End v Sheffield United",
   "match_url": "/football/matches/preston-north-end-vs-sheffield-united-2026-11-03/",
   "kickoff": "2026-11-03T19:45:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": 55.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Preston North End 0-2 Sheffield United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-01T11:47:00.000Z",
   "recorded_at": "2026-11-01T12:10:03.213Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.1000",
    "result": "Won",
    "points_hundredths": 11000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-f5418b8e3e726cd9d74cb059",
    "quote_text": "We say: Preston North End 0-2 Sheffield United",
    "fragment_from": 2946,
    "fragment_to": 2992,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e76f592672fc7666531d8dc7e80747ce1224159769be8549f33f9a9803390d23",
     "material_removed": false
    },
    "published_at": "2026-11-01T11:47:00.000Z",
    "detected_at": "2026-11-01T12:10:03.213Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-bc2859f14969",
     "display_name": "Preston North End — Sheffield United",
     "competition_name": "EFL Championship",
     "starts_at": "2026-11-03T19:45:00.000Z",
     "url": "/football/matches/preston-north-end-vs-sheffield-united-2026-11-03/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Preston North End 0-2 Sheffield United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-01T11:47:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T11:47:00.000Z",
     "detected_at": "2026-11-01T12:10:03.213Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Preston North End 0-2 Sheffield United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Preston North End 0-2 Sheffield United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Preston North End 2-3 Sheffield United."
    },
    "settlements": [
     {
      "operation_id": "43db8fde9914953611c6830798b2087ccb5ce672e925e742f5d46301303c9910",
      "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.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-11-02T18:33:40.600Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/preston-north-end/preview/preston-vs-sheff-utd-prediction-team-news-lineups_608192.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Preston North End 0-2 Sheffield United"
   }
  },
  {
   "record_id": "n-3326dbdb2b023ad8fa92b36a",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-3326dbdb2b023ad8fa92b36a",
   "match": "Wycombe Wanderers v Burton Albion",
   "match_url": "/football/matches/wycombe-wanderers-vs-burton-albion-2026-10-31/",
   "kickoff": "2026-10-31T15:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 31.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Wycombe Wanderers 1-1 Burton Albion",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T15:12:27.000Z",
   "recorded_at": "2026-10-30T07:10:35.653Z",
   "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-3326dbdb2b023ad8fa92b36a",
    "quote_text": "We say: Wycombe Wanderers 1-1 Burton Albion",
    "fragment_from": 2724,
    "fragment_to": 2767,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-burton-albion-prediction-team-news-lineups_607978.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0a28b8837a1212b4aa7d794c33c9e45e9c46f8876bf4c76d1da78ed34035cfe9",
     "material_removed": false
    },
    "published_at": "2026-10-29T15:12:27.000Z",
    "detected_at": "2026-10-30T07:10:35.653Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-138a4a2e2da1",
     "display_name": "Wycombe Wanderers — Burton Albion",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-31T15:00:00.000Z",
     "url": "/football/matches/wycombe-wanderers-vs-burton-albion-2026-10-31/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Wycombe Wanderers 1-1 Burton Albion",
    "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-29T15:12:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T15:12:27.000Z",
     "detected_at": "2026-10-30T07:10:35.653Z",
     "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": "Wycombe Wanderers 1-1 Burton Albion",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Wycombe Wanderers 1-1 Burton Albion"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Wycombe Wanderers 2-0 Burton Albion."
    },
    "settlements": [
     {
      "operation_id": "a5321a577a6967de20fd98040398e27dc849dce5193a4a81331662b3fee49e08",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T07:23:09.110Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-burton-albion-prediction-team-news-lineups_607978.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wycombe Wanderers 1-1 Burton Albion"
   }
  },
  {
   "record_id": "n-1acaf65457aad59fe1715a59",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-1acaf65457aad59fe1715a59",
   "match": "Plymouth Argyle v Reading",
   "match_url": "/football/matches/plymouth-argyle-vs-reading-2026-10-31/",
   "kickoff": "2026-10-31T12:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 43.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Reading",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-29T16:03:47.000Z",
   "recorded_at": "2026-10-29T17:10:04.256Z",
   "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-1acaf65457aad59fe1715a59",
    "quote_text": "which is why we are backing them to pick up all three points",
    "fragment_from": 3252,
    "fragment_to": 3312,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "deed307d5b555cf5828e7d4f5a205450a78ae5122481ffe6f513d95c723034ef",
     "material_removed": false
    },
    "published_at": "2026-10-29T16:03:47.000Z",
    "detected_at": "2026-10-29T17:10:04.256Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-d5b344ae4ad6",
     "display_name": "Plymouth Argyle — Reading",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-31T12:30:00.000Z",
     "url": "/football/matches/plymouth-argyle-vs-reading-2026-10-31/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Reading",
    "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-29T16:03:47.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T16:03:47.000Z",
     "detected_at": "2026-10-29T17:10:04.256Z",
     "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": "Reading",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Reading"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Plymouth Argyle 0-0 Reading."
    },
    "settlements": [
     {
      "operation_id": "cbe0db9424a256505b31cada1d15648d7081e7a101812460a8569dea3fd63626",
      "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": "Reading",
      "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": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Reading to win"
   }
  },
  {
   "record_id": "n-4124635a343036437f0b888d",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-4124635a343036437f0b888d",
   "match": "Plymouth Argyle v Reading",
   "match_url": "/football/matches/plymouth-argyle-vs-reading-2026-10-31/",
   "kickoff": "2026-10-31T12:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 43.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Plymouth Argyle 1-2 Reading",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T16:03:47.000Z",
   "recorded_at": "2026-10-29T17:10:04.256Z",
   "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-4124635a343036437f0b888d",
    "quote_text": "We say: Plymouth Argyle 1-2 Reading",
    "fragment_from": 3113,
    "fragment_to": 3148,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "deed307d5b555cf5828e7d4f5a205450a78ae5122481ffe6f513d95c723034ef",
     "material_removed": false
    },
    "published_at": "2026-10-29T16:03:47.000Z",
    "detected_at": "2026-10-29T17:10:04.256Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d5b344ae4ad6",
     "display_name": "Plymouth Argyle — Reading",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-31T12:30:00.000Z",
     "url": "/football/matches/plymouth-argyle-vs-reading-2026-10-31/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Plymouth Argyle 1-2 Reading",
    "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-29T16:03:47.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T16:03:47.000Z",
     "detected_at": "2026-10-29T17:10:04.256Z",
     "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": "Plymouth Argyle 1-2 Reading",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Plymouth Argyle 1-2 Reading"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Plymouth Argyle 0-0 Reading."
    },
    "settlements": [
     {
      "operation_id": "17f412fdbd6161f52202dee7fb20270be0982299672b28e1551a13d7e796f03a",
      "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": "Reading",
      "decimal_odds": "2.7650",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T07:03:25.206Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-reading-prediction-team-news-lineups_607988.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Plymouth Argyle 1-2 Reading"
   }
  },
  {
   "record_id": "n-cd176281f30751deb8619f49",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-cd176281f30751deb8619f49",
   "match": "Bromley v Peterborough United",
   "match_url": "/football/matches/bromley-vs-peterborough-united-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 47.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bromley 0-2 Peterborough United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T13:08:02.000Z",
   "recorded_at": "2026-10-22T14:10:33.212Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.0900",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-cd176281f30751deb8619f49",
    "quote_text": "We say: Bromley 0-2 Peterborough United",
    "fragment_from": 3139,
    "fragment_to": 3178,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-peterborough-prediction-team-news-lineups_607458.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5e3eefd88d89f8158392dd1dc45c9d33ab96e66988e69a675d6a89b0f5f1fbc6",
     "material_removed": false
    },
    "published_at": "2026-10-22T13:08:02.000Z",
    "detected_at": "2026-10-22T14:10:33.212Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-56991161cfb4",
     "display_name": "Bromley — Peterborough United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/bromley-vs-peterborough-united-2026-10-24/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bromley 0-2 Peterborough United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T13:08:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T13:08:02.000Z",
     "detected_at": "2026-10-22T14:10:33.212Z",
     "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": "Bromley 0-2 Peterborough United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bromley 0-2 Peterborough United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Bromley 1-1 Peterborough United."
    },
    "settlements": [
     {
      "operation_id": "6da2bcaf25329c700e768c3946068949a8eff45e1263b4989f45585ec94b6514",
      "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": "Peterborough United",
      "decimal_odds": "2.0900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:51:13.858Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-peterborough-prediction-team-news-lineups_607458.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bromley 0-2 Peterborough United"
   }
  },
  {
   "record_id": "n-89b1c480d329726b4c9a8230",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-89b1c480d329726b4c9a8230",
   "match": "Reading v Barnsley",
   "match_url": "/football/matches/reading-vs-barnsley-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 47.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Reading 2-0 Barnsley",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T13:53:53.000Z",
   "recorded_at": "2026-10-22T14:10:32.194Z",
   "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.6100",
    "result": "Won",
    "points_hundredths": 6100,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-89b1c480d329726b4c9a8230",
    "quote_text": "We say: Reading 2-0 Barnsley",
    "fragment_from": 2997,
    "fragment_to": 3025,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-barnsley-prediction-team-news-lineups_607461.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9dcb5631c037ccf02abaa7477397eff97620120ee1982bd11875c5c9e4bca894",
     "material_removed": false
    },
    "published_at": "2026-10-22T13:53:53.000Z",
    "detected_at": "2026-10-22T14:10:32.194Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ea53411a498",
     "display_name": "Reading — Barnsley",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/reading-vs-barnsley-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Reading 2-0 Barnsley",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T13:53:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T13:53:53.000Z",
     "detected_at": "2026-10-22T14:10:32.194Z",
     "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": "Reading 2-0 Barnsley",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Reading 2-0 Barnsley"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Reading 2-1 Barnsley."
    },
    "settlements": [
     {
      "operation_id": "024ff63987f268b4fda5f6815522972b9dd5ad2bc32290b6216db1175167c0a1",
      "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": "Reading",
      "decimal_odds": "1.6100",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6100,
      "executed_at": "2026-10-24T00:51:14.407Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-barnsley-prediction-team-news-lineups_607461.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Reading 2-0 Barnsley"
   }
  },
  {
   "record_id": "n-969bce605df5b36a7fb7c8fd",
   "url": "/authors/matthew-cooper/picks/3/#pick-n-969bce605df5b36a7fb7c8fd",
   "match": "Blackpool v Mansfield Town",
   "match_url": "/football/matches/blackpool-vs-mansfield-town-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 48.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Blackpool 1-1 Mansfield Town",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T12:34:38.000Z",
   "recorded_at": "2026-10-22T13:10:13.531Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.4200",
    "result": "Won",
    "points_hundredths": 14200,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-969bce605df5b36a7fb7c8fd",
    "quote_text": "We say: Blackpool 1-1 Mansfield Town",
    "fragment_from": 2886,
    "fragment_to": 2922,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/blackpool/preview/blackpool-vs-mansfield-prediction-team-news-lineups_607453.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9859fb68e1cb289b3b19ce2c085255b148eeab6a4eddcc2a8d64722aebf00f36",
     "material_removed": false
    },
    "published_at": "2026-10-22T12:34:38.000Z",
    "detected_at": "2026-10-22T13:10:13.531Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f62e305de0a1",
     "display_name": "Blackpool — Mansfield Town",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/blackpool-vs-mansfield-town-2026-10-24/",
     "scoreline": "1-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Blackpool 1-1 Mansfield Town",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T12:34:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T12:34:38.000Z",
     "detected_at": "2026-10-22T13:10:13.531Z",
     "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": "Blackpool 1-1 Mansfield Town",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Blackpool 1-1 Mansfield Town"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Blackpool 1-4 Mansfield Town."
    },
    "settlements": [
     {
      "operation_id": "9d2ac4d432b9555e11806fbf66333e8eaa04bd23d6f8425131b9d96bc26c2f75",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:51:21.706Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/blackpool/preview/blackpool-vs-mansfield-prediction-team-news-lineups_607453.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Blackpool 1-1 Mansfield Town"
   }
  },
  {
   "record_id": "n-2520969a992e30bfa84bb90e",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-2520969a992e30bfa84bb90e",
   "match": "AFC Wimbledon v Wycombe Wanderers",
   "match_url": "/football/matches/afc-wimbledon-vs-wycombe-wanderers-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AFC Wimbledon 0-2 Wycombe Wanderers",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T11:44:29.000Z",
   "recorded_at": "2026-10-22T12:10:01.602Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.8800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-2520969a992e30bfa84bb90e",
    "quote_text": "We say: AFC Wimbledon 0-2 Wycombe Wanderers",
    "fragment_from": 2897,
    "fragment_to": 2940,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0bc57dc23b9b8e30674be2008dcdcd3e12341e4e009d123b5741d6b76a254589",
     "material_removed": false
    },
    "published_at": "2026-10-22T11:44:29.000Z",
    "detected_at": "2026-10-22T12:10:01.602Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c528341bc418",
     "display_name": "AFC Wimbledon — Wycombe Wanderers",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/afc-wimbledon-vs-wycombe-wanderers-2026-10-24/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AFC Wimbledon 0-2 Wycombe Wanderers",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T11:44:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T11:44:29.000Z",
     "detected_at": "2026-10-22T12:10:01.602Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AFC Wimbledon 0-2 Wycombe Wanderers",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AFC Wimbledon 0-2 Wycombe Wanderers"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AFC Wimbledon 1-1 Wycombe Wanderers."
    },
    "settlements": [
     {
      "operation_id": "ebafe5ef6fdb2e0c4e7a7b79f86fd68da356b2b7f9ee605c27218da8a2d16974",
      "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": "Wycombe Wanderers",
      "decimal_odds": "1.8800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:51:46.481Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/afc-wimbledon/preview/afc-wimbledon-vs-wycombe-prediction-team-news-lineups_607447.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Wimbledon 0-2 Wycombe Wanderers"
   }
  },
  {
   "record_id": "n-7f5a3bff3120ea4b63381493",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-7f5a3bff3120ea4b63381493",
   "match": "Reading v Leyton Orient",
   "match_url": "/football/matches/reading-vs-leyton-orient-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Reading 1-1 Leyton Orient",
   "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-19T14:38:05.000Z",
   "recorded_at": "2026-10-19T15:10:10.447Z",
   "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-7f5a3bff3120ea4b63381493",
    "quote_text": "We say: Reading 1-1 Leyton Orient",
    "fragment_from": 3043,
    "fragment_to": 3076,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "188ab0b64619ab1bdb243d87ed4100e8de07f1dd962393b62d9a48ca3b44433d",
     "material_removed": false
    },
    "published_at": "2026-10-19T14:38:05.000Z",
    "detected_at": "2026-10-19T15:10:10.447Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e9a68fe36c36",
     "display_name": "Reading — Leyton Orient",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/reading-vs-leyton-orient-2026-10-21/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Reading 1-1 Leyton Orient",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T14:38:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T14:38:05.000Z",
     "detected_at": "2026-10-19T15:10:10.447Z",
     "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": "Reading 1-1 Leyton Orient",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Reading 1-1 Leyton Orient"
    },
    "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 Reading 1-0 Leyton Orient."
    },
    "settlements": [
     {
      "operation_id": "a0ab818ffc6af2ed6e7dc2f19d9bd17143399f43d1468a804bdb047ee489111b",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.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-22T11:52:01.498Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-leyton-orient-prediction-team-news-lineups_607241.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Reading 1-1 Leyton Orient"
   }
  },
  {
   "record_id": "n-174dd247cc200e63343df7bb",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-174dd247cc200e63343df7bb",
   "match": "Huddersfield Town v Peterborough United",
   "match_url": "/football/matches/huddersfield-town-vs-peterborough-united-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 53.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Huddersfield Town 2-0 Peterborough United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-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-18T11:03:06.000Z",
   "recorded_at": "2026-10-18T13:10:02.653Z",
   "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-174dd247cc200e63343df7bb",
    "quote_text": "We say: Huddersfield Town 2-0 Peterborough United",
    "fragment_from": 2947,
    "fragment_to": 2996,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/huddersfield-town/preview/huddersfield-vs-peterborough-prediction-team-news-lineups_607157.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0f665493ced9e300101cc95648d36fb17f2d4bc54089e9b10a57fdd293a2ab89",
     "material_removed": false
    },
    "published_at": "2026-10-18T11:03:06.000Z",
    "detected_at": "2026-10-18T13:10:02.653Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-296e76021a8f",
     "display_name": "Huddersfield Town — Peterborough United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/huddersfield-town-vs-peterborough-united-2026-10-20/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Huddersfield Town 2-0 Peterborough United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T11:03:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T11:03:06.000Z",
     "detected_at": "2026-10-18T13:10:02.653Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Huddersfield Town 2-0 Peterborough United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Huddersfield Town 2-0 Peterborough United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Huddersfield Town 4-1 Peterborough United."
    },
    "settlements": [
     {
      "operation_id": "8ad82ae3db95b4d1887446705f580b55e577f0435aefabcf4949b4443cccd9cb",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Huddersfield Town",
      "decimal_odds": "1.5450",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5450,
      "executed_at": "2026-10-22T11:08:31.442Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/huddersfield-town/preview/huddersfield-vs-peterborough-prediction-team-news-lineups_607157.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Huddersfield Town 2-0 Peterborough United"
   }
  },
  {
   "record_id": "n-9a0fe74a9ce7f5813fe47065",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-9a0fe74a9ce7f5813fe47065",
   "match": "Doncaster Rovers v Stockport County",
   "match_url": "/football/matches/doncaster-rovers-vs-stockport-county-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 54.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Doncaster Rovers 1-2 Stockport County",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T11:58:18.000Z",
   "recorded_at": "2026-10-18T12:10:00.384Z",
   "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-9a0fe74a9ce7f5813fe47065",
    "quote_text": "We say: Doncaster Rovers 1-2 Stockport County",
    "fragment_from": 2892,
    "fragment_to": 2937,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/doncaster-rovers/preview/doncaster-vs-stockport-prediction-team-news-lineups_607163.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3b8beaf0f52aeba1dd24fd491c43adbd31a226c4a7d9f3ac41d50a4f7cda2d78",
     "material_removed": false
    },
    "published_at": "2026-10-18T11:58:18.000Z",
    "detected_at": "2026-10-18T12:10:00.384Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-882316de7d7d",
     "display_name": "Doncaster Rovers — Stockport County",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/doncaster-rovers-vs-stockport-county-2026-10-20/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Doncaster Rovers 1-2 Stockport County",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T11:58:18.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T11:58:18.000Z",
     "detected_at": "2026-10-18T12:10:00.384Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Doncaster Rovers 1-2 Stockport County",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Doncaster Rovers 1-2 Stockport County"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Doncaster Rovers 0-2 Stockport County."
    },
    "settlements": [
     {
      "operation_id": "2764eb81feee654490e1e2d8ed5c3efc742bd5daff68cf4f4d776b438dc9819f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Stockport County",
      "decimal_odds": "1.9000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9000,
      "executed_at": "2026-10-22T12:01:41.718Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/doncaster-rovers/preview/doncaster-vs-stockport-prediction-team-news-lineups_607163.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Doncaster Rovers 1-2 Stockport County"
   }
  },
  {
   "record_id": "n-3b894fbbd7bb58973ac4f157",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3b894fbbd7bb58973ac4f157",
   "match": "Burton Albion v Bradford City",
   "match_url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 55.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Bradford City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T10:15:06.000Z",
   "recorded_at": "2026-10-18T11:10:08.103Z",
   "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-3b894fbbd7bb58973ac4f157",
    "quote_text": "which is why we are backing them to pick up the win",
    "fragment_from": 3212,
    "fragment_to": 3263,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
     "material_removed": false
    },
    "published_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-311960134477",
     "display_name": "Burton Albion — Bradford City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Bradford City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T10:15:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T10:15:06.000Z",
     "detected_at": "2026-10-18T11:10:08.103Z",
     "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": "Bradford City",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Bradford City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Burton Albion 0-0 Bradford City."
    },
    "settlements": [
     {
      "operation_id": "a5606344165bd052f4ac48eb166f64b76190150a714fa419d70aa915451ffe73",
      "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": "Bradford City",
      "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": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bradford City to win"
   }
  },
  {
   "record_id": "n-4e97ba392516a6ae1aa2ff93",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-4e97ba392516a6ae1aa2ff93",
   "match": "Burton Albion v Bradford City",
   "match_url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 55.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Burton Albion 1-2 Bradford City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T10:15:06.000Z",
   "recorded_at": "2026-10-18T11:10:08.103Z",
   "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-4e97ba392516a6ae1aa2ff93",
    "quote_text": "We say: Burton Albion 1-2 Bradford City",
    "fragment_from": 3079,
    "fragment_to": 3118,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d91d4574a882559ee6fcf71b7dd3ce88b61892ae29f321f0bea0535ae4b5df1e",
     "material_removed": false
    },
    "published_at": "2026-10-18T10:15:06.000Z",
    "detected_at": "2026-10-18T11:10:08.103Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-311960134477",
     "display_name": "Burton Albion — Bradford City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/burton-albion-vs-bradford-city-2026-10-20/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Burton Albion 1-2 Bradford City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T10:15:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T10:15:06.000Z",
     "detected_at": "2026-10-18T11:10:08.103Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Burton Albion 1-2 Bradford City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Burton Albion 1-2 Bradford City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Burton Albion 0-0 Bradford City."
    },
    "settlements": [
     {
      "operation_id": "12d1312207e4cc90982d5b67f278eb84fafc4d71d7d9b65de033d70b2e63a2a1",
      "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": "Bradford City",
      "decimal_odds": "2.0500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:28:51.019Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/burton-albion/preview/burton-albion-vs-bradford-prediction-team-news-lineups_607154.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Burton Albion 1-2 Bradford City"
   }
  },
  {
   "record_id": "n-ebb866a5d4141ac88ea61ced",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-ebb866a5d4141ac88ea61ced",
   "match": "Bromley v Leicester City",
   "match_url": "/football/matches/bromley-vs-leicester-city-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 56.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bromley 0-1 Leicester City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T09:37:21.000Z",
   "recorded_at": "2026-10-18T10:09:59.624Z",
   "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-ebb866a5d4141ac88ea61ced",
    "quote_text": "We say: Bromley 0-1 Leicester City",
    "fragment_from": 2986,
    "fragment_to": 3020,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-leicester-prediction-team-news-lineups_607150.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3aa582700888c05c8b0809d5be3c4df646b3317fb3ddbbc5f7724a00d66d3eee",
     "material_removed": false
    },
    "published_at": "2026-10-18T09:37:21.000Z",
    "detected_at": "2026-10-18T10:09:59.624Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cadc58b43e96",
     "display_name": "Bromley — Leicester City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/bromley-vs-leicester-city-2026-10-20/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bromley 0-1 Leicester City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T09:37:21.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T09:37:21.000Z",
     "detected_at": "2026-10-18T10:09:59.624Z",
     "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": "Bromley 0-1 Leicester City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bromley 0-1 Leicester City"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Bromley 0-4 Leicester City."
    },
    "settlements": [
     {
      "operation_id": "456f370d2cfebbe817e7f64dde83328bbc15058b82fdc699b239b4bc359c572d",
      "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": "Leicester City",
      "decimal_odds": "1.7500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7500,
      "executed_at": "2026-10-22T12:38:27.627Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/bromley/preview/bromley-vs-leicester-prediction-team-news-lineups_607150.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bromley 0-1 Leicester City"
   }
  },
  {
   "record_id": "n-5b527a2eea9046e591f2202f",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-5b527a2eea9046e591f2202f",
   "match": "Wigan Athletic v Reading",
   "match_url": "/football/matches/wigan-athletic-vs-reading-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 46.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Wigan Athletic 0-2 Reading",
   "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-15T14:02:00.000Z",
   "recorded_at": "2026-10-15T15:09:55.208Z",
   "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-5b527a2eea9046e591f2202f",
    "quote_text": "We say: Wigan Athletic 0-2 Reading",
    "fragment_from": 2880,
    "fragment_to": 2914,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/wigan-athletic/preview/wigan-vs-reading-prediction-team-news-lineups_606966.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "92dbd961cf230c96f51f6c6a0a604156a4046d45d721d528ac28ef3b0c34f3f3",
     "material_removed": false
    },
    "published_at": "2026-10-15T14:02:00.000Z",
    "detected_at": "2026-10-15T15:09:55.208Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-70923fb1e8fb",
     "display_name": "Wigan Athletic — Reading",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/wigan-athletic-vs-reading-2026-10-17/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Wigan Athletic 0-2 Reading",
    "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-15T14:02:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T14:02:00.000Z",
     "detected_at": "2026-10-15T15:09:55.208Z",
     "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": "Wigan Athletic 0-2 Reading",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Wigan Athletic 0-2 Reading"
    },
    "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 Wigan Athletic 1-0 Reading."
    },
    "settlements": [
     {
      "operation_id": "a6d2f16804c1179e46c985be89f4901dfca41ed77c53f35ab23bbb077dd73398",
      "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": "Reading",
      "decimal_odds": "1.9800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:34:14.565Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/wigan-athletic/preview/wigan-vs-reading-prediction-team-news-lineups_606966.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wigan Athletic 0-2 Reading"
   }
  },
  {
   "record_id": "n-b1140a896bf7836190ad14f5",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-b1140a896bf7836190ad14f5",
   "match": "Wycombe Wanderers v Notts County",
   "match_url": "/football/matches/wycombe-wanderers-vs-notts-county-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 48.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Wycombe Wanderers 2-0 Notts County",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T12:38:24.000Z",
   "recorded_at": "2026-10-15T13:09:48.527Z",
   "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-b1140a896bf7836190ad14f5",
    "quote_text": "We say: Wycombe Wanderers 2-0 Notts County",
    "fragment_from": 3014,
    "fragment_to": 3056,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-notts-county-prediction-team-news-lineups_606959.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0d1c8ecbc28fe96981059be28f1adbe170ea74d35c415b93f1121048f4f848c1",
     "material_removed": false
    },
    "published_at": "2026-10-15T12:38:24.000Z",
    "detected_at": "2026-10-15T13:09:48.527Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-341d33b6c47d",
     "display_name": "Wycombe Wanderers — Notts County",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/wycombe-wanderers-vs-notts-county-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Wycombe Wanderers 2-0 Notts County",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-15T12:38:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T12:38:24.000Z",
     "detected_at": "2026-10-15T13:09:48.527Z",
     "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": "Wycombe Wanderers 2-0 Notts County",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Wycombe Wanderers 2-0 Notts County"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Wycombe Wanderers 2-0 Notts County."
    },
    "settlements": [
     {
      "operation_id": "33edbc4dc7e5c8410da7a22ec058e4cac878a643fd87876593847c84f9625f98",
      "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": "Wycombe Wanderers",
      "decimal_odds": "1.9450",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9450,
      "executed_at": "2026-10-22T12:11:33.058Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/wycombe-wanderers/preview/wycombe-vs-notts-county-prediction-team-news-lineups_606959.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wycombe Wanderers 2-0 Notts County"
   }
  },
  {
   "record_id": "n-0b205e4ca6e09fd3e223e881",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-0b205e4ca6e09fd3e223e881",
   "match": "Bradford City v Stevenage",
   "match_url": "/football/matches/bradford-city-vs-stevenage-2026-10-17/",
   "kickoff": "2026-10-17T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bradford City 1-0 Stevenage",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T11:32:16.000Z",
   "recorded_at": "2026-10-15T12:09:50.493Z",
   "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-0b205e4ca6e09fd3e223e881",
    "quote_text": "We say: Bradford City 1-0 Stevenage",
    "fragment_from": 3273,
    "fragment_to": 3308,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-stevenage-prediction-team-news-lineups_606953.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ee3fa2f4d7eefd7cc570b03ae0155933a503d3b356fce8c0b76e4de02036fc81",
     "material_removed": false
    },
    "published_at": "2026-10-15T11:32:16.000Z",
    "detected_at": "2026-10-15T12:09:50.493Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-36215012697f",
     "display_name": "Bradford City — Stevenage",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T14:00:00.000Z",
     "url": "/football/matches/bradford-city-vs-stevenage-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bradford City 1-0 Stevenage",
    "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-15T11:32:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T11:32:16.000Z",
     "detected_at": "2026-10-15T12:09:50.493Z",
     "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": "Bradford City 1-0 Stevenage",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bradford City 1-0 Stevenage"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Bradford City 2-0 Stevenage."
    },
    "settlements": [
     {
      "operation_id": "d4f32f0f5bb0d09954fb7b537b30d287c18c36bc8d9aa75aae345efb1b25d9bf",
      "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": "Bradford City",
      "decimal_odds": "1.9300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9300,
      "executed_at": "2026-10-22T11:06:19.927Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-stevenage-prediction-team-news-lineups_606953.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bradford City 1-0 Stevenage"
   }
  },
  {
   "record_id": "n-3fcce35cb883d2b25f41b139",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3fcce35cb883d2b25f41b139",
   "match": "Olympique de Marseille v Olympiakos Piraeus",
   "match_url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 49.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympiakos Piraeus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-13T14:58:27.000Z",
   "recorded_at": "2026-10-13T17:09:49.316Z",
   "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-3fcce35cb883d2b25f41b139",
    "quote_text": "we are backing them to pick up all three points",
    "fragment_from": 3512,
    "fragment_to": 3559,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
     "material_removed": false
    },
    "published_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-50cbf0117aea",
     "display_name": "Olympique de Marseille — Olympiakos Piraeus",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympiakos Piraeus",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-13T14:58:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T14:58:27.000Z",
     "detected_at": "2026-10-13T17:09:49.316Z",
     "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": "Olympiakos Piraeus",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympiakos Piraeus"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Olympique de Marseille 0-1 Olympiakos Piraeus."
    },
    "settlements": [
     {
      "operation_id": "0740c8081be22b2a057eba105c2c277858b99486907f5a8036a7de73c6375ee5",
      "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": "Olympiakos Piraeus",
      "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": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympiakos Piraeus to win"
   }
  },
  {
   "record_id": "n-978d24fcdd5fef55870f7287",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-978d24fcdd5fef55870f7287",
   "match": "Olympique de Marseille v Olympiakos Piraeus",
   "match_url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique de Marseille 1-2 Olympiakos Piraeus",
   "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-13T14:58:27.000Z",
   "recorded_at": "2026-10-13T17:09:49.316Z",
   "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.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-978d24fcdd5fef55870f7287",
    "quote_text": "We say: Marseille 1-2 Olympiacos",
    "fragment_from": 3351,
    "fragment_to": 3383,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "66bfe47e39e8d91370230869f6b87d4b715106819b84f7cb43540714d72aadf0",
     "material_removed": false
    },
    "published_at": "2026-10-13T14:58:27.000Z",
    "detected_at": "2026-10-13T17:09:49.316Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-50cbf0117aea",
     "display_name": "Olympique de Marseille — Olympiakos Piraeus",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-olympiakos-piraeus-2026-10-15/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique de Marseille 1-2 Olympiakos Piraeus",
    "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-13T14:58:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T14:58:27.000Z",
     "detected_at": "2026-10-13T17:09:49.316Z",
     "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": "Olympique de Marseille 1-2 Olympiakos Piraeus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique de Marseille 1-2 Olympiakos Piraeus"
    },
    "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 Olympique de Marseille 0-1 Olympiakos Piraeus."
    },
    "settlements": [
     {
      "operation_id": "3614051e42bfc189681e3a368a64bee09968e71e1261773d933d7e99c9995449",
      "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": "Olympiakos Piraeus",
      "decimal_odds": "2.9500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 19500,
      "executed_at": "2026-10-27T02:24:52.605Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-olympiacos-prediction-team-news-lineups_606818.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille 1-2 Olympiakos Piraeus"
   }
  },
  {
   "record_id": "n-45c7d4f6c7c031ce78cd2ba0",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-45c7d4f6c7c031ce78cd2ba0",
   "match": "Cambridge United v Blackpool",
   "match_url": "/football/matches/cambridge-united-vs-blackpool-2026-10-10/",
   "kickoff": "2026-10-10T14:15:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 50.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cambridge United 2-1 Blackpool",
   "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-08T11:25:12.000Z",
   "recorded_at": "2026-10-08T12:11:39.724Z",
   "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-45c7d4f6c7c031ce78cd2ba0",
    "quote_text": "We say: Cambridge United 2-1 Blackpool",
    "fragment_from": 3116,
    "fragment_to": 3154,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-blackpool-prediction-team-news-lineups_606459.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7f14db24c39047e61430920e56118e1debfe710bd3feddf88517f0f58f347aa5",
     "material_removed": false
    },
    "published_at": "2026-10-08T11:25:12.000Z",
    "detected_at": "2026-10-08T12:11:39.724Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-67bd5aabf95e",
     "display_name": "Cambridge United — Blackpool",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T14:15:00.000Z",
     "url": "/football/matches/cambridge-united-vs-blackpool-2026-10-10/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cambridge United 2-1 Blackpool",
    "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-08T11:25:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T11:25:12.000Z",
     "detected_at": "2026-10-08T12:11:39.724Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Cambridge United 2-1 Blackpool",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cambridge United 2-1 Blackpool"
    },
    "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 Cambridge United 1-0 Blackpool."
    },
    "settlements": [
     {
      "operation_id": "7498c6db9a9848abe3d60b5c2cdf9d4657c0f434ce2f963f6dec644e7dad23ff",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Cambridge United",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10000,
      "executed_at": "2026-10-22T11:24:31.402Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-blackpool-prediction-team-news-lineups_606459.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United 2-1 Blackpool"
   }
  },
  {
   "record_id": "n-e65c142c6d09fc8380c70870",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-e65c142c6d09fc8380c70870",
   "match": "Mansfield Town v Bromley",
   "match_url": "/football/matches/mansfield-town-vs-bromley-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 48.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Mansfield Town 1-1 Bromley",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T12:53:09.000Z",
   "recorded_at": "2026-10-08T13:07:02.384Z",
   "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-e65c142c6d09fc8380c70870",
    "quote_text": "We say: Mansfield Town 1-1 Bromley",
    "fragment_from": 2827,
    "fragment_to": 2861,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-bromley-prediction-team-news-lineups_606468.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2bec0cbb5cd777ddec42fa7a7d9a39ceba4632d77340205f8b4fc84d43249b23",
     "material_removed": false
    },
    "published_at": "2026-10-08T12:53:09.000Z",
    "detected_at": "2026-10-08T13:07:02.384Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a4e4a2b5639f",
     "display_name": "Mansfield Town — Bromley",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/mansfield-town-vs-bromley-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Mansfield Town 1-1 Bromley",
    "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-08T12:53:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T12:53:09.000Z",
     "detected_at": "2026-10-08T13:07:02.384Z",
     "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": "Mansfield Town 1-1 Bromley",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Mansfield Town 1-1 Bromley"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Mansfield Town 2-1 Bromley."
    },
    "settlements": [
     {
      "operation_id": "408e006ed18d34606f4e8d4c3e50e9e7f873589cd25bffe5bda34219afcc037c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.7000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:36:52.806Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-bromley-prediction-team-news-lineups_606468.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Mansfield Town 1-1 Bromley"
   }
  },
  {
   "record_id": "n-3787233cf54da50016f2ca3c",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-3787233cf54da50016f2ca3c",
   "match": "Leicester City v Peterborough United",
   "match_url": "/football/matches/leicester-city-vs-peterborough-united-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Leicester City 2-1 Peterborough United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T11:54:42.000Z",
   "recorded_at": "2026-10-08T12:11:35.064Z",
   "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-3787233cf54da50016f2ca3c",
    "quote_text": "We say: Leicester City 2-1 Peterborough United",
    "fragment_from": 3164,
    "fragment_to": 3210,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/leicester-city/preview/leicester-vs-peterborough-prediction-team-news-lineups_606462.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9003a0248621e5d04e32a4b594666e4ad23a158e738a5fcfe1175462ea35d6a5",
     "material_removed": false
    },
    "published_at": "2026-10-08T11:54:42.000Z",
    "detected_at": "2026-10-08T12:11:35.064Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a1074db5312a",
     "display_name": "Leicester City — Peterborough United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/leicester-city-vs-peterborough-united-2026-10-10/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Leicester City 2-1 Peterborough United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-08T11:54:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T11:54:42.000Z",
     "detected_at": "2026-10-08T12:11:35.064Z",
     "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": "Leicester City 2-1 Peterborough United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Leicester City 2-1 Peterborough United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Leicester City 1-3 Peterborough United."
    },
    "settlements": [
     {
      "operation_id": "ade252ca3e742c4c3968e8f551014228ff43ed3b44a3bb4d30a7c9eff925a6db",
      "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": "Leicester City",
      "decimal_odds": "1.5800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:19:41.940Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/leicester-city/preview/leicester-vs-peterborough-prediction-team-news-lineups_606462.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Leicester City 2-1 Peterborough United"
   }
  },
  {
   "record_id": "n-d2447cd6f819592280760926",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-d2447cd6f819592280760926",
   "match": "Reading v Bradford City",
   "match_url": "/football/matches/reading-vs-bradford-city-2026-10-03/",
   "kickoff": "2026-10-03T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 48.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Reading 1-1 Bradford City",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T12:17:05.000Z",
   "recorded_at": "2026-10-01T13:04:39.867Z",
   "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-d2447cd6f819592280760926",
    "quote_text": "We say: Reading 1-1 Bradford City",
    "fragment_from": 3061,
    "fragment_to": 3094,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-bradford-prediction-team-news-lineups_606067.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c1b06c717c76669d36f1908e6eea8445bce909634b1f5ee3082be84be8af01dc",
     "material_removed": false
    },
    "published_at": "2026-10-01T12:17:05.000Z",
    "detected_at": "2026-10-01T13:04:39.867Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-396768bd82dd",
     "display_name": "Reading — Bradford City",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-03T14:00:00.000Z",
     "url": "/football/matches/reading-vs-bradford-city-2026-10-03/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Reading 1-1 Bradford City",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-01T12:17:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-01T12:17:05.000Z",
     "detected_at": "2026-10-01T13:04:39.867Z",
     "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": "Reading 1-1 Bradford City",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Reading 1-1 Bradford City"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Reading 1-1 Bradford City."
    },
    "settlements": [
     {
      "operation_id": "c2cf51f6e99018b78333f588d7f9831a719ffc008ccb8780276d0568414128ab",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-01T20:38:04.635Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/reading/preview/reading-vs-bradford-prediction-team-news-lineups_606067.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Reading 1-1 Bradford City"
   }
  },
  {
   "record_id": "n-abea13b621d9433484823157",
   "url": "/authors/matthew-cooper/picks/2/#pick-n-abea13b621d9433484823157",
   "match": "Australia v Brazil",
   "match_url": "/football/matches/australia-vs-brazil-2026-09-29/",
   "kickoff": "2026-09-29T10:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 45.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Australia 1-2 Brazil",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T12:07:46.000Z",
   "recorded_at": "2026-09-27T13:02:03.852Z",
   "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-abea13b621d9433484823157",
    "quote_text": "We say: Australia 1-2 Brazil",
    "fragment_from": 3165,
    "fragment_to": 3193,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/australia/preview/australia-vs-brazil-prediction-team-news-lineups_605870.html",
     "display_name": null,
     "speaker": "Matthew Cooper",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e8ad0e9f0ddfd1d8cf9beef9c27127af116921898c46023af1b9709dda1f00a3",
     "material_removed": false
    },
    "published_at": "2026-09-27T12:07:46.000Z",
    "detected_at": "2026-09-27T13:02:03.852Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-df561662c1db",
     "display_name": "Australia — Brazil",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-29T10:00:00.000Z",
     "url": "/football/matches/australia-vs-brazil-2026-09-29/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Australia 1-2 Brazil",
    "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-09-27T12:07:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-27T12:07:46.000Z",
     "detected_at": "2026-09-27T13:02:03.852Z",
     "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": "Australia 1-2 Brazil",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Australia 1-2 Brazil"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Australia 2-4 Brazil."
    },
    "settlements": [
     {
      "operation_id": "70fff8bad107a4c5598ddf0335feeb7d3504ae3c44032c6e3e9bd662febb4d1f",
      "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": "Brazil",
      "decimal_odds": "1.2747",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2747,
      "executed_at": "2026-09-28T01:07:29.165Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Matthew Cooper",
     "publisher": "Sports Mole",
     "forecaster": "Matthew Cooper",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/australia/preview/australia-vs-brazil-prediction-team-news-lineups_605870.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Australia 1-2 Brazil"
   }
  },
  {
   "record_id": "n-ed6d979690bb31da19af737b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Peterborough United 1-2 Reading",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T15:03:46.000Z",
   "recorded_at": "2026-11-06T09:10:02.980Z",
   "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-2c8d032db124e6e18b27018a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: MK Dons 3-1 Swindon Town",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T14:11:28.000Z",
   "recorded_at": "2026-11-05T15:10:06.485Z",
   "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-1c66b219b847cffbd6af56ac",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Carlisle United 1-2 Salford City",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T13:27:59.000Z",
   "recorded_at": "2026-11-05T14:10:07.837Z",
   "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-8ded626d06fa8238735c4d59",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: York City 2-1 Northampton Town",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T12:51:50.000Z",
   "recorded_at": "2026-11-05T13:10:21.864Z",
   "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-6fbf40b7667f3f45d9c5dc3f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Leicester City 0-1 Doncaster Rovers",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T12:04:49.000Z",
   "recorded_at": "2026-10-15T13:09:48.923Z",
   "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-13da12d8784465a7df50e8cf",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: MK Dons 1-2 Reading",
   "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-08T13:30:02.000Z",
   "recorded_at": "2026-10-08T14:09:17.112Z",
   "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-f8a5d471c8b42c6028f8550f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Chesterfield 1-1 Tranmere Rovers",
   "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-01T13:03:09.000Z",
   "recorded_at": "2026-10-01T14:09:54.524Z",
   "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
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 27,
  "before_kickoff": 27,
  "after_kickoff": 0,
  "at_least_2h": 27,
  "share_2h_plus": 100.0,
  "median_hours": 49.8,
  "min_hours": 31.8,
  "max_hours": 56.6,
  "words": "Hours between the moment we recorded the pick and kick-off; the share counts picks recorded at least two hours before kick-off."
 },
 "baseline": {
  "contract_version": 1,
  "series_code": "market_price",
  "rule": "recorded-line-1.0",
  "state": "settled",
  "picks": 9,
  "settled_picks_all": 23,
  "excluded": {
   "market_without_favourite": 0,
   "no_recorded_line": 14,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 90000,
  "author_net_hundredths": -2400,
  "favourite_net_hundredths": 16300,
  "difference_hundredths": -18700,
  "author_return_percent": -2.67,
  "favourite_return_percent": 18.11,
  "author_hit_rate": 44.4,
  "favourite_hit_rate": 55.6,
  "picked_favourite_share": 66.7,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 9,
    "staked_hundredths": 90000,
    "author_net_hundredths": -2400,
    "favourite_net_hundredths": 16300,
    "author_hits": 4,
    "favourite_hits": 5,
    "picked_favourite": 6,
    "author_return_percent": -2.67,
    "favourite_return_percent": 18.11
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-15T19:00:00.000Z",
    "author_cumulative_hundredths": 19500,
    "favourite_cumulative_hundredths": -10000
   },
   {
    "kickoff": "2026-10-24T14:00:00.000Z",
    "author_cumulative_hundredths": 9500,
    "favourite_cumulative_hundredths": -20000
   },
   {
    "kickoff": "2026-10-24T14:00:00.000Z",
    "author_cumulative_hundredths": 15600,
    "favourite_cumulative_hundredths": -13900
   },
   {
    "kickoff": "2026-10-24T14:00:00.000Z",
    "author_cumulative_hundredths": 5600,
    "favourite_cumulative_hundredths": 300
   },
   {
    "kickoff": "2026-10-24T14:00:00.000Z",
    "author_cumulative_hundredths": -4400,
    "favourite_cumulative_hundredths": -9700
   },
   {
    "kickoff": "2026-11-03T19:45:00.000Z",
    "author_cumulative_hundredths": 6600,
    "favourite_cumulative_hundredths": 1300
   },
   {
    "kickoff": "2026-11-03T19:45:00.000Z",
    "author_cumulative_hundredths": -3400,
    "favourite_cumulative_hundredths": 15300
   },
   {
    "kickoff": "2026-11-03T19:45:00.000Z",
    "author_cumulative_hundredths": -13400,
    "favourite_cumulative_hundredths": 5300
   },
   {
    "kickoff": "2026-11-03T19:45:00.000Z",
    "author_cumulative_hundredths": -2400,
    "favourite_cumulative_hundredths": 16300
   }
  ],
  "words": "Same stakes, same matches, same recorded moment: the author’s picks against backing the market favourite by the recorded line. Only markets with a single shortest price count (match result, over/under, both teams to score, handicap); correct score and combined markets are left out."
 },
 "pagination": {
  "per_page": 20,
  "total": 34,
  "pages": 3,
  "page_urls": [
   "/authors/matthew-cooper/",
   "/authors/matthew-cooper/picks/2/",
   "/authors/matthew-cooper/picks/3/"
  ],
  "groups": {
   "settled": 1,
   "pending": 0,
   "excluded": 33
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/matthew-cooper/",
  "current": false
 },
 "title_tag": "Matthew Cooper Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-bafc952d44e2ffd177429614",
  "type_code": "individual",
  "name_shown": "Matthew Cooper",
  "main_entity": "e-bafc952d44e2ffd177429614",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-bafc952d44e2ffd177429614",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Matthew Cooper",
    "url": "/sources/sports-mole/",
    "summary": {
     "statements": 161,
     "predictions": 34,
     "settled_picks": 1,
     "headline_kind": "live_snapshot",
     "return_percent": 110.0,
     "headline_part": "live",
     "period_from": "2026-09-27",
     "period_to": "2026-11-07"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-11-04.1",
  "updated": "2026-11-04",
  "current_release": "2026-11-07.2",
  "data_as_of": "2026-11-07",
  "method_version": "2.2",
  "price_rule": "independent odds snapshot",
  "series_code": "market_price",
  "sample": {
   "settled_picks": 1,
   "matches": 1,
   "void": 0,
   "period_from": "2026-11-03",
   "period_to": "2026-11-03",
   "composition_hash": "00785ad094e26dfba3852de8c6565be37a1768b7fc4056cf072b29ebf2c0c80e"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-5e2bbdd0d1bf5823be20",
   "at": "2026-11-04T03:35:56.412Z",
   "data_version": "2026-11-04.1",
   "previous_data_version": "2026-11-03.3",
   "url": "/authors/matthew-cooper/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": null,
   "after": {
    "data_version": "2026-11-04.1",
    "return_percent": "110.00",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "00785ad094e26dfba3852de8c6565be37a1768b7fc4056cf072b29ebf2c0c80e",
    "text": "+110.00 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "reason": "First headline number for this record: 1 settled pick in the series “independent odds snapshot”.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 1,
    "total_check": true,
    "market_list": [
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 11000,
      "return_percent": "110.0",
      "period_from": "2026-11-03",
      "period_to": "2026-11-03",
      "small_sample": true,
      "average_odds": "2.10",
      "odds_from_author": 0,
      "odds_from_snapshot": 1
     }
    ],
    "leagues": [
     {
      "code_name": "EFL Championship",
      "in_words": "EFL Championship",
      "url": "/football/competitions/efl-championship/",
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 11000,
      "return_percent": "110.0",
      "period_from": "2026-11-03",
      "period_to": "2026-11-03",
      "small_sample": true,
      "average_odds": "2.10",
      "odds_from_author": 0,
      "odds_from_snapshot": 1,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 11000,
        "return_percent": null,
        "period_from": "2026-11-03",
        "period_to": "2026-11-03",
        "small_sample": true,
        "average_odds": "2.10",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     }
    ],
    "best_slice": null
   }
  ],
  "best_slice": null
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 27 September 2026 · 34 predictions · last change 6 November 2026",
  "url": "https://forecastrecord.com/authors/matthew-cooper/",
  "s": "2026-09-27",
  "prediction_count": 34,
  "refreshed_at": "2026-11-06",
  "html": "<a href=\"https://forecastrecord.com/authors/matthew-cooper/\">Record tracked by Forecast Record since 27 September 2026 · 34 predictions · last change 6 November 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 27,
  "days": 36,
  "weeks": 6,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 4,
  "first_settled_on": "2026-09-29",
  "products_in_level": 1,
  "rule": {
   "tracked": {
    "min_settled": 30,
    "min_days": 30,
    "min_distinct_weeks": 2,
    "no_violations": true
   },
   "established": {
    "min_settled": 100,
    "min_days": 90
   }
  },
  "show": true
 },
 "colleagues": [
  {
   "source_code": "sports-mole",
   "source_name": "Sports Mole",
   "source_url": "/sources/sports-mole/",
   "label": "Also at Sports Mole",
   "authors_total": 24,
   "authors": [
    {
     "name": "Saikat Mandal",
     "url": "/authors/saikat-mandal/",
     "headline_part": "live",
     "settled_picks": 57,
     "return_percent": "32.5",
     "small_sample": false,
     "average_odds": "2.21",
     "odds_from_author": 56,
     "odds_from_snapshot": 1
    },
    {
     "name": "Lewis Nolan",
     "url": "/authors/lewis-nolan/",
     "headline_part": "live",
     "settled_picks": 47,
     "return_percent": "-55.1",
     "small_sample": false,
     "average_odds": "2.22",
     "odds_from_author": 47,
     "odds_from_snapshot": 0
    },
    {
     "name": "Adeyeye Oluwapelumi",
     "url": "/authors/adeyeye-oluwapelumi/",
     "headline_part": "live",
     "settled_picks": 33,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Joshua Cole",
     "url": "/authors/joshua-cole/",
     "headline_part": "live",
     "settled_picks": 32,
     "return_percent": "-40.1",
     "small_sample": false,
     "average_odds": "2.26",
     "odds_from_author": 32,
     "odds_from_snapshot": 0
    },
    {
     "name": "Marvellous Adepoju",
     "url": "/authors/marvellous-adepoju/",
     "headline_part": "live",
     "settled_picks": 25,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Byron David",
     "url": "/authors/byron-david/",
     "headline_part": "live",
     "settled_picks": 24,
     "return_percent": "19.7",
     "small_sample": false,
     "average_odds": "2.09",
     "odds_from_author": 24,
     "odds_from_snapshot": 0
    },
    {
     "name": "Joshua Ojele",
     "url": "/authors/joshua-ojele/",
     "headline_part": "live",
     "settled_picks": 18,
     "return_percent": "-14.8",
     "small_sample": false,
     "average_odds": "1.69",
     "odds_from_author": 16,
     "odds_from_snapshot": 2
    },
    {
     "name": "Calum Burrowes",
     "url": "/authors/calum-burrowes/",
     "headline_part": "live",
     "settled_picks": 15,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Matt Law",
     "url": "/authors/matt-law/",
     "headline_part": "live",
     "settled_picks": 13,
     "return_percent": "-76.7",
     "small_sample": false,
     "average_odds": "7.90",
     "odds_from_author": 0,
     "odds_from_snapshot": 13
    },
    {
     "name": "Sam Varley",
     "url": "/authors/sam-varley/",
     "headline_part": "live",
     "settled_picks": 11,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Darren Plant",
     "url": "/authors/darren-plant/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "5.46",
     "odds_from_author": 0,
     "odds_from_snapshot": 6
    },
    {
     "name": "Oliver Thomas",
     "url": "/authors/oliver-thomas/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    }
   ]
  }
 ],
 "author_type": "Pundit",
 "data_changes": {
  "added_later": null,
  "records_corrected": 0,
  "last_correction_at": null,
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-bafc952d44e2ffd177429614",
 "source_revision": 106,
 "related": [
  {
   "url": "/cards/e-bafc952d44e2ffd177429614-bank/",
   "name": "Bankroll card — Matthew Cooper",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-bafc952d44e2ffd177429614-month-following/",
   "name": "A month following Matthew Cooper",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-bafc952d44e2ffd177429614-said-vs-happened/",
   "name": "Said → happened — Matthew Cooper",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/matthew-cooper/",
   "name": "Your titles on Forecast Record: Matthew Cooper",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 1,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 34,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 34,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 1,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 27,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 1,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  },
  {
   "set": "profile.checked",
   "entity": "e-bafc952d44e2ffd177429614",
   "value": 27,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
