{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/anthony-nolan/",
 "canonical": "/authors/anthony-nolan/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Anthony Nolan: Football Prediction Record",
 "description": "Anthony Nolan: 414 statements recorded by Forecast Record. Every statement with its source and the rule applied to it.",
 "first_paragraph": {
  "body": "Forecast Record has recorded 414 statements by Anthony Nolan, including 63 predictions. Of the 63 predictions we hold for Anthony Nolan, 41 are linked to matches: 41 were recorded by us before kick-off. The statements are listed below; as of 7 November 2026.",
  "key_number": "414",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "page_type_rule",
 "indexing_threshold": {
  "settled_count": 39,
  "date_count": 20,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T17:48:49.387Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "2b007752d90c525a24ecd80657f9c5b81512447fd10ead70615292c714e690f0",
 "dependency_group": "author:e-0d19eef6ec81aa8719847920",
 "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/anthony-nolan/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/anthony-nolan/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-0d19eef6ec81aa8719847920",
  "public_name": "Anthony Nolan",
  "tracker_number": 969,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-24",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-0d19eef6ec81aa8719847920-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": null,
   "unit": "percent",
   "data_status": "unknown",
   "cause": "no pick in this window has been settled",
   "n_bets": 0,
   "n_events": 0,
   "n_void": null,
   "ci_low": null,
   "ci_high": null,
   "ci_method": "not_estimated",
   "price_source": "market_price",
   "coverage_percent": null,
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T17:48:49.387Z",
   "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: 0 settled picks across 0 matches",
  "average_odds": null,
  "odds_from_author": null,
  "odds_from_snapshot": null
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-47e3332c9c82bd107860e5ef",
  "bankroll_hundredths": 920107,
  "reserve_hundredths": 10000,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": -79893,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-10-09T21:08:39.242Z",
    "bankroll_hundredths": 990000,
    "profit_hundredths": -10000,
    "outcome_id": "ish-aeee179f10a20ff522a4dfb7"
   },
   {
    "at": "2026-10-10T23:35:57.619Z",
    "bankroll_hundredths": 995814,
    "profit_hundredths": -4186,
    "outcome_id": "ish-34efdc6ce8f0d0ce8df6111b"
   },
   {
    "at": "2026-10-10T23:35:57.639Z",
    "bankroll_hundredths": 985814,
    "profit_hundredths": -14186,
    "outcome_id": "ish-67afa2e7f1205fb79885b0b1"
   },
   {
    "at": "2026-10-11T19:32:25.241Z",
    "bankroll_hundredths": 991949,
    "profit_hundredths": -8051,
    "outcome_id": "ish-1c39ca4e896b7bf2b10edfa7"
   },
   {
    "at": "2026-10-11T19:41:04.059Z",
    "bankroll_hundredths": 981949,
    "profit_hundredths": -18051,
    "outcome_id": "ish-0c0dfc872d6a8e5b75326960"
   },
   {
    "at": "2026-10-13T19:07:46.712Z",
    "bankroll_hundredths": 971949,
    "profit_hundredths": -28051,
    "outcome_id": "ish-b5be0b82a58545719067596e"
   },
   {
    "at": "2026-10-13T21:11:08.644Z",
    "bankroll_hundredths": 981082,
    "profit_hundredths": -18918,
    "outcome_id": "ish-4ef713097a1c9f6c282cf615"
   },
   {
    "at": "2026-10-15T19:17:29.146Z",
    "bankroll_hundredths": 987534,
    "profit_hundredths": -12466,
    "outcome_id": "ish-4b5326a1e548a30b2a8fd1d6"
   },
   {
    "at": "2026-10-15T21:06:08.600Z",
    "bankroll_hundredths": 977534,
    "profit_hundredths": -22466,
    "outcome_id": "ish-a4a60a2e89e0446a8323e0ce"
   },
   {
    "at": "2026-10-17T16:23:58.708Z",
    "bankroll_hundredths": 967534,
    "profit_hundredths": -32466,
    "outcome_id": "ish-a32829aca6c57662ed244660"
   },
   {
    "at": "2026-10-17T19:17:51.119Z",
    "bankroll_hundredths": 969534,
    "profit_hundredths": -30466,
    "outcome_id": "ish-efec9aa38d9c2d504568f9f3"
   },
   {
    "at": "2026-10-18T15:10:17.224Z",
    "bankroll_hundredths": 959534,
    "profit_hundredths": -40466,
    "outcome_id": "ish-e819ea6bc2c18fc921c46bb2"
   },
   {
    "at": "2026-10-18T16:12:51.711Z",
    "bankroll_hundredths": 966337,
    "profit_hundredths": -33663,
    "outcome_id": "ish-b60f70c0205359a9193c0837"
   },
   {
    "at": "2026-10-18T18:06:49.181Z",
    "bankroll_hundredths": 977137,
    "profit_hundredths": -22863,
    "outcome_id": "ish-93ab7c829c457cf5d4b0a074"
   },
   {
    "at": "2026-10-21T00:41:08.193Z",
    "bankroll_hundredths": 967137,
    "profit_hundredths": -32863,
    "outcome_id": "ish-080c302f3bc5ba27eb4a8048"
   },
   {
    "at": "2026-10-22T21:10:31.919Z",
    "bankroll_hundredths": 957137,
    "profit_hundredths": -42863,
    "outcome_id": "ish-799aaccb7e9ae01c4d819c51"
   },
   {
    "at": "2026-10-22T21:10:35.724Z",
    "bankroll_hundredths": 947137,
    "profit_hundredths": -52863,
    "outcome_id": "ish-1fe3d9a8b2a6a75fe684fd0e"
   },
   {
    "at": "2026-10-23T21:10:02.397Z",
    "bankroll_hundredths": 937137,
    "profit_hundredths": -62863,
    "outcome_id": "ish-9fbab3bb30a8e7603d79f0b1"
   },
   {
    "at": "2026-10-24T16:08:15.191Z",
    "bankroll_hundredths": 927137,
    "profit_hundredths": -72863,
    "outcome_id": "ish-d940ab40b795d5b506d3b24d"
   },
   {
    "at": "2026-10-24T16:08:15.275Z",
    "bankroll_hundredths": 917137,
    "profit_hundredths": -82863,
    "outcome_id": "ish-e034679a1c6dfab2cc9b55b3"
   },
   {
    "at": "2026-10-24T16:08:15.402Z",
    "bankroll_hundredths": 921537,
    "profit_hundredths": -78463,
    "outcome_id": "ish-cbde034cf25480c646ee2e37"
   },
   {
    "at": "2026-10-26T12:50:40.039Z",
    "bankroll_hundredths": 943937,
    "profit_hundredths": -56063,
    "outcome_id": "ish-b840ebde6419d9de800f81c4"
   },
   {
    "at": "2026-10-26T12:50:46.481Z",
    "bankroll_hundredths": 933937,
    "profit_hundredths": -66063,
    "outcome_id": "ish-1df41f50f65347d25f96e7d7"
   },
   {
    "at": "2026-10-27T20:18:46.447Z",
    "bankroll_hundredths": 935937,
    "profit_hundredths": -64063,
    "outcome_id": "ish-df111f75103292d37cd83b40"
   },
   {
    "at": "2026-10-27T20:18:46.454Z",
    "bankroll_hundredths": 925937,
    "profit_hundredths": -74063,
    "outcome_id": "ish-a1be3c78a9d1f9fa15090d66"
   },
   {
    "at": "2026-10-27T20:18:46.462Z",
    "bankroll_hundredths": 929077,
    "profit_hundredths": -70923,
    "outcome_id": "ish-7c37224caa8f70b8d17e4f47"
   },
   {
    "at": "2026-10-28T20:17:59.289Z",
    "bankroll_hundredths": 929507,
    "profit_hundredths": -70493,
    "outcome_id": "ish-f0ffe86b65cbb6d0e12cd5b9"
   },
   {
    "at": "2026-10-28T20:35:10.743Z",
    "bankroll_hundredths": 919507,
    "profit_hundredths": -80493,
    "outcome_id": "ish-716d5932880b40b4a2d2719f"
   },
   {
    "at": "2026-10-28T20:35:10.748Z",
    "bankroll_hundredths": 909507,
    "profit_hundredths": -90493,
    "outcome_id": "ish-d3e8207b5beacaee73d52843"
   },
   {
    "at": "2026-10-31T16:37:46.276Z",
    "bankroll_hundredths": 899507,
    "profit_hundredths": -100493,
    "outcome_id": "ish-4165ecb1171b8b5ff5c51a60"
   },
   {
    "at": "2026-10-31T16:37:46.497Z",
    "bankroll_hundredths": 889507,
    "profit_hundredths": -110493,
    "outcome_id": "ish-2e114774c0da5126fedf03d6"
   },
   {
    "at": "2026-10-31T16:37:47.487Z",
    "bankroll_hundredths": 879507,
    "profit_hundredths": -120493,
    "outcome_id": "ish-f644bb3b2565abf81e3635bb"
   },
   {
    "at": "2026-11-01T17:22:18.184Z",
    "bankroll_hundredths": 905507,
    "profit_hundredths": -94493,
    "outcome_id": "ish-de81170302ed8883bac89935"
   },
   {
    "at": "2026-11-03T22:07:40.878Z",
    "bankroll_hundredths": 935507,
    "profit_hundredths": -64493,
    "outcome_id": "ish-0b794def4984167d5be15574"
   },
   {
    "at": "2026-11-04T20:48:14.275Z",
    "bankroll_hundredths": 925507,
    "profit_hundredths": -74493,
    "outcome_id": "ish-39fb105aa93b5ae2405b36a6"
   },
   {
    "at": "2026-11-07T16:49:25.754Z",
    "bankroll_hundredths": 930107,
    "profit_hundredths": -69893,
    "outcome_id": "ish-7765641dec617fcfef698ae6"
   },
   {
    "at": "2026-11-07T16:49:27.386Z",
    "bankroll_hundredths": 920107,
    "profit_hundredths": -79893,
    "outcome_id": "ish-9540753a27a6969bc14ce50e"
   }
  ],
  "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": "derived_series",
  "series_label": "Forecast Record reconstruction from the predicted score"
 },
 "simulations": [],
 "completeness": {
  "detected": 414,
  "recognised": 63,
  "accepted": 1,
  "executed": 0,
  "calculated": 0,
  "gaps": [
   {
    "cause": "outside the method",
    "figure": 38
   },
   {
    "cause": "National-team matches",
    "figure": 13
   },
   {
    "cause": "other reading",
    "figure": 7
   },
   {
    "cause": "not_supported",
    "figure": 4
   },
   {
    "cause": "no_quote",
    "figure": 1
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 414,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 44,
   "not_about_a_match": 306,
   "unclassified": 0
  },
  "predictions": 63,
  "predictions_restored": 0,
  "matches": 41,
  "admitted": 1,
  "qualifying_picks": 0,
  "qualifying_picks_restored": 0,
  "settled_picks": 0,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "derived_series",
    "derived": true,
    "is_restored": false,
    "qualifying_picks": 39,
    "settled_picks": 38,
    "void": 0,
    "pending_picks": 1,
    "matches": 38,
    "operations_settled": 39,
    "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": 38
   },
   {
    "code_name": "outside_coverage",
    "cause": "National-team matches",
    "figure": 13
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 7
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 4
   },
   {
    "code_name": "no_quote",
    "cause": "no_quote",
    "figure": 1
   }
  ],
  "duplicates": 22,
  "junk": {
   "service": 5,
   "ads": 2
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-57e70f21e96a7dc507efca2d",
   "url": "/evidence/?pick=n-57e70f21e96a7dc507efca2d",
   "quote_text": "Sports Mole's predicted XI: Suzuki; Bogarde, Torres, Lindelof, Maatsen; Goretzka, Kamara; Alysson",
   "fragment_from": 1194,
   "fragment_to": 1291,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/injury-news/team-news/man-united-vs-aston-villa-injury-suspension-list-predicted-xis_608655.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7d29eabb819189d1b3c8565be730ae1bd42993ec44b82748141d2ce4e283875e",
    "material_removed": false
   },
   "published_at": "2026-11-07T16:30:00.000Z",
   "detected_at": "2026-11-07T17:11:46.991Z",
   "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-07T16:30:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T16:30:00.000Z",
    "detected_at": "2026-11-07T17:11:46.991Z",
    "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-a81cd6590b772539376076c7",
   "url": "/evidence/?pick=n-a81cd6590b772539376076c7",
   "quote_text": "Sports Mole's predicted XI: Lammens; Yoro, Maguire, Heaven, Dalot; Tielemans, Mainoo; Diallo",
   "fragment_from": 943,
   "fragment_to": 1035,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/injury-news/team-news/man-united-vs-aston-villa-injury-suspension-list-predicted-xis_608655.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7d29eabb819189d1b3c8565be730ae1bd42993ec44b82748141d2ce4e283875e",
    "material_removed": false
   },
   "published_at": "2026-11-07T16:30:00.000Z",
   "detected_at": "2026-11-07T17:11:46.991Z",
   "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-07T16:30:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T16:30:00.000Z",
    "detected_at": "2026-11-07T17:11:46.991Z",
    "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-6731be607ba59c2c9f004581",
   "url": "/evidence/?pick=n-6731be607ba59c2c9f004581",
   "quote_text": "left-back Matteo Ruggeri, who has a hamstring injury, while the versatile Aaron Wan-Bissaka is a facing a late fitness test",
   "fragment_from": 5015,
   "fragment_to": 5138,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "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-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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-2a6b0ba31435b92b33af51ad",
   "url": "/evidence/?pick=n-2a6b0ba31435b92b33af51ad",
   "quote_text": "missing right-back Matty Cash, who is suspended after collecting five yellow cards",
   "fragment_from": 4927,
   "fragment_to": 5009,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "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-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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-cbbaf69083d77a338feebf4c",
   "url": "/evidence/?pick=n-cbbaf69083d77a338feebf4c",
   "quote_text": "Marcus Rashford is dealing with a hip issue and striker Benjamin Sesko is set for a longer time out",
   "fragment_from": 4636,
   "fragment_to": 4735,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "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-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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-80356619bf13fd26d0a6e0e0",
   "url": "/evidence/?pick=n-80356619bf13fd26d0a6e0e0",
   "quote_text": "Lisandro Martinez suspended following his dismissal against Chelsea",
   "fragment_from": 4272,
   "fragment_to": 4339,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "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-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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-800fc4a45d223b3c2f569c50",
   "url": "/evidence/?pick=n-800fc4a45d223b3c2f569c50",
   "quote_text": "Luke Shaw remains sidelined and Patrick Dorgu is a doubt despite returning to partial training",
   "fragment_from": 4010,
   "fragment_to": 4104,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "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-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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-fad1a7fc26c05dd11e4fe774",
   "url": "/evidence/?pick=n-fad1a7fc26c05dd11e4fe774",
   "quote_text": "Matheus Cunha equalised by capitalising on a major error from Leonardo Balerdi and rifled home the winner",
   "fragment_from": 1063,
   "fragment_to": 1168,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "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-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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-2ba91597afe83a34363624ab",
   "url": "/evidence/?pick=n-2ba91597afe83a34363624ab",
   "quote_text": "Captain Bruno Fernandes pulled one back from a retaken penalty after seeing his initial kick saved",
   "fragment_from": 956,
   "fragment_to": 1054,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "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-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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-e24f491a061df5ab70574489",
   "url": "/authors/anthony-nolan/picks/5/#pick-n-e24f491a061df5ab70574489",
   "quote_text": "We say: Manchester United 1-3 Aston Villa",
   "fragment_from": 5774,
   "fragment_to": 5815,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:06:00.000Z",
   "detected_at": "2026-11-07T05:10:11.429Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-0efac66d1287",
    "display_name": "Manchester United — Aston Villa",
    "competition_name": "Premier League",
    "starts_at": "2026-11-08T16:30:00.000Z",
    "url": "/football/matches/manchester-united-vs-aston-villa-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Correct score",
   "outcome_label": "Manchester United 1-3 Aston Villa",
   "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": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T23:06:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "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": "Manchester United 1-3 Aston Villa",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Manchester United 1-3 Aston Villa"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:30 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:30 UTC."
   },
   "settlements": [
    {
     "operation_id": "d68d1e158a6bd776d05f3574beb50dbfd4db08f6c1ac637ac12921e7fba65616",
     "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": "Aston Villa",
     "decimal_odds": "3.1000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T05:37:50.022Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-6e0dfbd387f9c493e0611364",
   "url": "/evidence/?pick=n-6e0dfbd387f9c493e0611364",
   "quote_text": "Manchester United possible starting lineup:\n\nLammens; Yoro, Maguire, Heaven, Dalot; Tielemans",
   "fragment_from": 1699,
   "fragment_to": 1792,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/predicted-lineups/who-replaces-martinez-predicted-man-united-xi-vs-aston-villa_608651.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "230c188aff5588c0afc3dead58a080af558932509cebd000a8b36877ca4296e0",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:30:10.000Z",
   "detected_at": "2026-11-07T04:10:43.214Z",
   "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-06T23:30:10.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:30:10.000Z",
    "detected_at": "2026-11-07T04:10:43.214Z",
    "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-290334c8afb7dee046a43a50",
   "url": "/evidence/?pick=n-290334c8afb7dee046a43a50",
   "quote_text": "Man United predicted lineup vs. Aston Villa: Michael Carrick faces Lisandro Martinez decision",
   "fragment_from": 0,
   "fragment_to": 93,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/predicted-lineups/who-replaces-martinez-predicted-man-united-xi-vs-aston-villa_608651.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "230c188aff5588c0afc3dead58a080af558932509cebd000a8b36877ca4296e0",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:30:10.000Z",
   "detected_at": "2026-11-07T04:10:43.214Z",
   "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-06T23:30:10.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:30:10.000Z",
    "detected_at": "2026-11-07T04:10:43.214Z",
    "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-4e592754c1d6d3fbb6b307c5",
   "url": "/evidence/?pick=n-4e592754c1d6d3fbb6b307c5",
   "quote_text": "they will be quietly confident about their chances of beating one of the division's relegation favourites",
   "fragment_from": 5290,
   "fragment_to": 5395,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hoffenheim/preview/hoffenheim-vs-schalke-prediction-team-news-lineups_608641.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2a33754c979f4080bf0c5b5b370b904c695030eff66ca8fd7a9e01511c396c3c",
    "material_removed": false
   },
   "published_at": "2026-11-07T03:51:43.000Z",
   "detected_at": "2026-11-07T04:10:37.267Z",
   "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-07T03:51:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T03:51:43.000Z",
    "detected_at": "2026-11-07T04:10:37.267Z",
    "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-7a570dcf101609958b1d7e2d",
   "url": "/evidence/?pick=n-7a570dcf101609958b1d7e2d",
   "quote_text": "Hoffenheim have struggled once again in recent weeks",
   "fragment_from": 5232,
   "fragment_to": 5284,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hoffenheim/preview/hoffenheim-vs-schalke-prediction-team-news-lineups_608641.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2a33754c979f4080bf0c5b5b370b904c695030eff66ca8fd7a9e01511c396c3c",
    "material_removed": false
   },
   "published_at": "2026-11-07T03:51:43.000Z",
   "detected_at": "2026-11-07T04:10:37.267Z",
   "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-07T03:51:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T03:51:43.000Z",
    "detected_at": "2026-11-07T04:10:37.267Z",
    "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-ccedd9b99f73b547a9f81278",
   "url": "/authors/anthony-nolan/picks/5/#pick-n-ccedd9b99f73b547a9f81278",
   "quote_text": "We say: Hoffenheim 2-0 Schalke 04",
   "fragment_from": 5193,
   "fragment_to": 5226,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hoffenheim/preview/hoffenheim-vs-schalke-prediction-team-news-lineups_608641.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2a33754c979f4080bf0c5b5b370b904c695030eff66ca8fd7a9e01511c396c3c",
    "material_removed": false
   },
   "published_at": "2026-11-07T03:51:43.000Z",
   "detected_at": "2026-11-07T04:10:37.267Z",
   "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-07T03:51:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T03:51:43.000Z",
    "detected_at": "2026-11-07T04:10:37.267Z",
    "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-5de57fbfe30ef04e86a3080e",
   "url": "/evidence/?pick=n-5de57fbfe30ef04e86a3080e",
   "quote_text": "Right-back Matty Cash is suspended after accumulating five yellow cards and Matteo Ruggeri has a ",
   "fragment_from": 988,
   "fragment_to": 1085,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/predicted-lineups/who-comes-in-for-cash-predicted-aston-villa-xi-vs-man-united_608654.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7410110a6b107a9ed88164783c0340eaf73f67d8a850a1efa58cce80f8ca3b96",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:56:51.000Z",
   "detected_at": "2026-11-07T03:11:01.868Z",
   "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-06T23:56:51.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:56:51.000Z",
    "detected_at": "2026-11-07T03:11:01.868Z",
    "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-033e4d4e9fcfd2e25a9a6571",
   "url": "/evidence/?pick=n-033e4d4e9fcfd2e25a9a6571",
   "quote_text": "Zion Suzuki will start in goal in Manchester, hoping to put his mistake during Villa's 1-1 draw with",
   "fragment_from": 801,
   "fragment_to": 901,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/predicted-lineups/who-comes-in-for-cash-predicted-aston-villa-xi-vs-man-united_608654.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7410110a6b107a9ed88164783c0340eaf73f67d8a850a1efa58cce80f8ca3b96",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:56:51.000Z",
   "detected_at": "2026-11-07T03:11:01.868Z",
   "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-06T23:56:51.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:56:51.000Z",
    "detected_at": "2026-11-07T03:11:01.868Z",
    "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-80c09a29dab122918632a513",
   "url": "/evidence/?pick=n-80c09a29dab122918632a513",
   "quote_text": "Aston Villa predicted lineup vs. Man United: Unai Emery faces Matty Cash decision with Aaron Wan",
   "fragment_from": 0,
   "fragment_to": 96,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-utd/predicted-lineups/who-comes-in-for-cash-predicted-aston-villa-xi-vs-man-united_608654.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7410110a6b107a9ed88164783c0340eaf73f67d8a850a1efa58cce80f8ca3b96",
    "material_removed": false
   },
   "published_at": "2026-11-06T23:56:51.000Z",
   "detected_at": "2026-11-07T03:11:01.868Z",
   "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-06T23:56:51.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T23:56:51.000Z",
    "detected_at": "2026-11-07T03:11:01.868Z",
    "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-4ec9ba981c4db93aa812897f",
   "url": "/authors/anthony-nolan/picks/5/#pick-n-4ec9ba981c4db93aa812897f",
   "quote_text": "We say: Freiburg 2-1 Union Berlin",
   "fragment_from": 4587,
   "fragment_to": 4620,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/freiburg/preview/freiburg-vs-union-berlin-prediction-team-news-lineups_608640.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "acd6e02c79de121b747909d5b06b8c119d9e233613cd0ee9f36cbc61338bb9b3",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:50:55.000Z",
   "detected_at": "2026-11-07T03:10:43.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-11-07T02:50:55.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:50:55.000Z",
    "detected_at": "2026-11-07T03:10:43.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-6cb55b6def94a574d1149f4c",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-6cb55b6def94a574d1149f4c",
   "quote_text": "We say: Luton Town 3-1 Forest Green Rovers",
   "fragment_from": 4206,
   "fragment_to": 4248,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/luton-town/fa-cup/preview/luton-vs-forest-green-prediction-team-news-lineups_608523.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a2a3dc7818d0c5b0c09da2c72f4491aea90da931b4f5890ebb4dba40e98e2434",
    "material_removed": false
   },
   "published_at": "2026-11-06T05:05:00.000Z",
   "detected_at": "2026-11-06T06:10:04.748Z",
   "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-06T05:05:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T05:05:00.000Z",
    "detected_at": "2026-11-06T06:10:04.748Z",
    "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-5fc2bcc7a70ebd95491cccdd",
   "url": "/evidence/?pick=n-5fc2bcc7a70ebd95491cccdd",
   "quote_text": "expect to see a close-fought game.",
   "fragment_from": 4823,
   "fragment_to": 4857,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/paderborn/preview/sc-paderborn-vs-frankfurt-prediction-team-news-lineups_608519.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "13d136b2ff844ebbdf5649619c51e84e3d6c05b889c2c5585294dc330c20bbb7",
    "material_removed": false
   },
   "published_at": "2026-11-05T22:17:57.000Z",
   "detected_at": "2026-11-06T05:10:00.351Z",
   "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-05T22:17:57.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T22:17:57.000Z",
    "detected_at": "2026-11-06T05:10:00.351Z",
    "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-657bf45fdf9da7002ada21ce",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-657bf45fdf9da7002ada21ce",
   "quote_text": "We say: SC Paderborn 0-1 Eintracht Frankfurt",
   "fragment_from": 4471,
   "fragment_to": 4515,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/paderborn/preview/sc-paderborn-vs-frankfurt-prediction-team-news-lineups_608519.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "13d136b2ff844ebbdf5649619c51e84e3d6c05b889c2c5585294dc330c20bbb7",
    "material_removed": false
   },
   "published_at": "2026-11-05T22:17:57.000Z",
   "detected_at": "2026-11-06T05:10:00.351Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-9d5a1b79a27f",
    "display_name": "SC Paderborn 07 — Eintracht Frankfurt",
    "competition_name": "Bundesliga",
    "starts_at": "2026-11-07T14:30:00.000Z",
    "url": "/football/matches/sc-paderborn-07-vs-eintracht-frankfurt-2026-11-07/",
    "scoreline": "2-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "SC Paderborn 07 0-1 Eintracht Frankfurt",
   "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-05T22:17:57.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T22:17:57.000Z",
    "detected_at": "2026-11-06T05:10:00.351Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "SC Paderborn 07 0-1 Eintracht Frankfurt",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: SC Paderborn 07 0-1 Eintracht Frankfurt"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was SC Paderborn 07 2-2 Eintracht Frankfurt."
   },
   "settlements": [
    {
     "operation_id": "45758743b96843b49dd09ab7bdc9cf1e8a676226ad180584f95a1728be154aea",
     "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": "Eintracht Frankfurt",
     "decimal_odds": "2.1500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-06T05:11:17.185Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/paderborn/preview/sc-paderborn-vs-frankfurt-prediction-team-news-lineups_608519.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-addd84d21f8042d92c71316e",
   "url": "/evidence/?pick=n-addd84d21f8042d92c71316e",
   "quote_text": "it would still come as a surprise to see anything other than a home win on Saturday.",
   "fragment_from": 4499,
   "fragment_to": 4583,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mansfield-town/fa-cup/preview/mansfield-vs-macclesfield-prediction-team-news-lineups_608522.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "676af261f8dc3affde49f5050875e224c6d30e821cbac3f48a1fffe43d14e984",
    "material_removed": false
   },
   "published_at": "2026-11-06T03:46:45.000Z",
   "detected_at": "2026-11-06T04:10:56.999Z",
   "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-06T03:46:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T03:46:45.000Z",
    "detected_at": "2026-11-06T04:10:56.999Z",
    "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-724a54d03693bdca403e7e69",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-724a54d03693bdca403e7e69",
   "quote_text": "We say: Mansfield Town 2-1 Macclesfield Town",
   "fragment_from": 4211,
   "fragment_to": 4255,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mansfield-town/fa-cup/preview/mansfield-vs-macclesfield-prediction-team-news-lineups_608522.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "676af261f8dc3affde49f5050875e224c6d30e821cbac3f48a1fffe43d14e984",
    "material_removed": false
   },
   "published_at": "2026-11-06T03:46:45.000Z",
   "detected_at": "2026-11-06T04:10:56.999Z",
   "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-06T03:46:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T03:46:45.000Z",
    "detected_at": "2026-11-06T04:10:56.999Z",
    "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-2a32f97f9b69145c032cc393",
   "url": "/evidence/?pick=n-2a32f97f9b69145c032cc393",
   "quote_text": "This weekend's visitors will arrive as the underdogs",
   "fragment_from": 2827,
   "fragment_to": 2879,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rb-leipzig/preview/rb-leipzig-vs-augsburg-prediction-team-news-lineups_608521.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "96f09628c7712c3e500303c1933b483e2143fa1ba1a39f086cd54e480e44e0bd",
    "material_removed": false
   },
   "published_at": "2026-11-05T23:32:24.000Z",
   "detected_at": "2026-11-06T00:10:13.236Z",
   "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-05T23:32:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T23:32:24.000Z",
    "detected_at": "2026-11-06T00:10:13.236Z",
    "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-016345acbe3722275b4ea7d8",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-016345acbe3722275b4ea7d8",
   "quote_text": "We say: RB Leipzig 3-0 Augsburg",
   "fragment_from": 5069,
   "fragment_to": 5100,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rb-leipzig/preview/rb-leipzig-vs-augsburg-prediction-team-news-lineups_608521.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "96f09628c7712c3e500303c1933b483e2143fa1ba1a39f086cd54e480e44e0bd",
    "material_removed": false
   },
   "published_at": "2026-11-05T23:32:24.000Z",
   "detected_at": "2026-11-06T00:10:13.236Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-33101de1421d",
    "display_name": "RB Leipzig — FC Augsburg",
    "competition_name": "Bundesliga",
    "starts_at": "2026-11-07T14:30:00.000Z",
    "url": "/football/matches/rb-leipzig-vs-fc-augsburg-2026-11-07/",
    "scoreline": "5-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "RB Leipzig 3-0 FC Augsburg",
   "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-05T23:32:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T23:32:24.000Z",
    "detected_at": "2026-11-06T00:10:13.236Z",
    "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": "RB Leipzig 3-0 FC Augsburg",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: RB Leipzig 3-0 FC Augsburg"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "5-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was RB Leipzig 5-2 FC Augsburg."
   },
   "settlements": [
    {
     "operation_id": "1ac07071d4462db9bc001d9b302cf78aa5611f29356f9beafd4880c9b63b5edc",
     "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": "RB Leipzig",
     "decimal_odds": "1.4600",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4600,
     "executed_at": "2026-11-06T00:51:19.607Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/rb-leipzig/preview/rb-leipzig-vs-augsburg-prediction-team-news-lineups_608521.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-2aced445358701b90c8ede35",
   "url": "/evidence/?pick=n-2aced445358701b90c8ede35",
   "quote_text": "Be'er Sheva will be without midfielder Lucas Ventura due to a hamstring injury",
   "fragment_from": 2727,
   "fragment_to": 2805,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hapoel-beer-sheva/europa-league/preview/h-beer-sheva-vs-ofi-crete-prediction-team-news-lineups_608359.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6f1c9acf0b00a571880c0948324478a282911f41c4c29305897818d89055fe79",
    "material_removed": false
   },
   "published_at": "2026-11-03T23:59:02.000Z",
   "detected_at": "2026-11-04T00:11:26.167Z",
   "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-03T23:59:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T23:59:02.000Z",
    "detected_at": "2026-11-04T00:11:26.167Z",
    "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-3d062a7de5f222b29b808b1d",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-3d062a7de5f222b29b808b1d",
   "quote_text": "We say: Hapoel Be'er Sheva 1-2 OFI Crete",
   "fragment_from": 4052,
   "fragment_to": 4092,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hapoel-beer-sheva/europa-league/preview/h-beer-sheva-vs-ofi-crete-prediction-team-news-lineups_608359.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6f1c9acf0b00a571880c0948324478a282911f41c4c29305897818d89055fe79",
    "material_removed": false
   },
   "published_at": "2026-11-03T23:59:02.000Z",
   "detected_at": "2026-11-04T00:11:26.167Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "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-03T23:59:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T23:59:02.000Z",
    "detected_at": "2026-11-04T00:11:26.167Z",
    "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-a7f797f11ae0306a8afee9cd",
   "url": "/evidence/?pick=n-a7f797f11ae0306a8afee9cd",
   "quote_text": "Sports Mole's predicted XI: Alisson; Araujo, Jacquet, Van Dijk, Tsimikas; Szoboszlai, Mac Allister",
   "fragment_from": 1175,
   "fragment_to": 1273,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fenerbahce/champions-league/team-news/fenerbahce-vs-liverpool-injury-suspension-list-predicted-xis_608295.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a1c5e1ada815d667509e9924e40e1b06b8890aef9425222a445da88d56bf9f95",
    "material_removed": false
   },
   "published_at": "2026-11-03T17:45:00.000Z",
   "detected_at": "2026-11-03T18:10:41.223Z",
   "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-03T17:45:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T17:45:00.000Z",
    "detected_at": "2026-11-03T18:10:41.223Z",
    "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-574beaae0b02ad1cc56b81ef",
   "url": "/evidence/?pick=n-574beaae0b02ad1cc56b81ef",
   "quote_text": "Sports Mole's predicted XI: Ederson; Muldur, Brown, Skriniar, Mercan; Kante, Guendouzi; Greenwood",
   "fragment_from": 895,
   "fragment_to": 992,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fenerbahce/champions-league/team-news/fenerbahce-vs-liverpool-injury-suspension-list-predicted-xis_608295.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a1c5e1ada815d667509e9924e40e1b06b8890aef9425222a445da88d56bf9f95",
    "material_removed": false
   },
   "published_at": "2026-11-03T17:45:00.000Z",
   "detected_at": "2026-11-03T18:10:41.223Z",
   "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-03T17:45:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T17:45:00.000Z",
    "detected_at": "2026-11-03T18:10:41.223Z",
    "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-ed29c6a95fafa76be7463ce9",
   "url": "/evidence/?pick=n-ed29c6a95fafa76be7463ce9",
   "quote_text": "Alisson; Araujo, Jacquet, Van Dijk, Tsimikas; Gravenberch, Mac Allister; Ngumoha, Wirtz, Barcola",
   "fragment_from": 2082,
   "fragment_to": 2178,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/champions-league/predicted-lineups/who-starts-after-szoboszlais-return-predicted-liverpool-xi-vs-fenerbahce_608294.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "23aaca1583a0042a1db58a08356d4ba0b1a8cf16d7e0799296e8cfa1b81e31ff",
    "material_removed": false
   },
   "published_at": "2026-11-03T00:28:19.000Z",
   "detected_at": "2026-11-03T01:10:22.725Z",
   "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-03T00:28:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T00:28:19.000Z",
    "detected_at": "2026-11-03T01:10:22.725Z",
    "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-e7ddd254a07b742a79989b6e",
   "url": "/evidence/?pick=n-e7ddd254a07b742a79989b6e",
   "quote_text": "Liverpool predicted lineup vs. Fenerbahce: Andoni Iraola faces midfield choice after Dominik Szoboszlai",
   "fragment_from": 0,
   "fragment_to": 103,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/champions-league/predicted-lineups/who-starts-after-szoboszlais-return-predicted-liverpool-xi-vs-fenerbahce_608294.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "23aaca1583a0042a1db58a08356d4ba0b1a8cf16d7e0799296e8cfa1b81e31ff",
    "material_removed": false
   },
   "published_at": "2026-11-03T00:28:19.000Z",
   "detected_at": "2026-11-03T01:10:22.725Z",
   "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-03T00:28:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T00:28:19.000Z",
    "detected_at": "2026-11-03T01:10:22.725Z",
    "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-8f99d59a8fcff8110fbcde3e",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-8f99d59a8fcff8110fbcde3e",
   "quote_text": "We say: Fenerbahce 2-4 Liverpool",
   "fragment_from": 4588,
   "fragment_to": 4620,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fenerbahce/champions-league/preview/fenerbahce-vs-liverpool-prediction-team-news-lineups_608293.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d02907e1dd98d0f63943dc977f3895a9f509b081d267616449c8293fcc6160e6",
    "material_removed": false
   },
   "published_at": "2026-11-02T23:58:13.000Z",
   "detected_at": "2026-11-03T00:10:15.832Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-e11039d41c22",
    "display_name": "Fenerbahçe — Liverpool",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-04T17:45:00.000Z",
    "url": "/football/matches/fenerbahce-vs-liverpool-2026-11-04/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Fenerbahçe 2-4 Liverpool",
   "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-02T23:58:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T23:58:13.000Z",
    "detected_at": "2026-11-03T00:10:15.832Z",
    "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": "Fenerbahçe 2-4 Liverpool",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-4",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Fenerbahçe 2-4 Liverpool"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Fenerbahçe 3-2 Liverpool."
   },
   "settlements": [
    {
     "operation_id": "90d7e558a803c2434e1b9fc6f19e8779edc0e5fe70c3ab0f3163b04e42551216",
     "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": "Liverpool",
     "decimal_odds": "1.5263",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-03T03:20:05.854Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/fenerbahce/champions-league/preview/fenerbahce-vs-liverpool-prediction-team-news-lineups_608293.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a29f8e51962a1d77d0ecdf9d",
   "url": "/evidence/?pick=n-a29f8e51962a1d77d0ecdf9d",
   "quote_text": "Iraola's side have been without Dominik Szoboszlai for five of the past six games due to the minor hamstring issue",
   "fragment_from": 5895,
   "fragment_to": 6009,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/title-race/feature/liverpool-0-1-arsenal-what-went-wrong-for-iraola-as-gunners-break-anfield-curse_608215.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c329183460729acc3cabc6f41d62a9a7d40108bf663fc669604cec0894265330",
    "material_removed": false
   },
   "published_at": "2026-11-02T05:17:38.000Z",
   "detected_at": "2026-11-02T06:10:00.084Z",
   "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-02T05:17:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T05:17:38.000Z",
    "detected_at": "2026-11-02T06:10:00.084Z",
    "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-bd26c109b2078c5c78c0a61c",
   "url": "/evidence/?pick=n-bd26c109b2078c5c78c0a61c",
   "quote_text": "Here, Sports Mole takes a closer look at what went wrong for Iraola during Liverpool's loss to Arsenal",
   "fragment_from": 1460,
   "fragment_to": 1562,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/title-race/feature/liverpool-0-1-arsenal-what-went-wrong-for-iraola-as-gunners-break-anfield-curse_608215.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c329183460729acc3cabc6f41d62a9a7d40108bf663fc669604cec0894265330",
    "material_removed": false
   },
   "published_at": "2026-11-02T05:17:38.000Z",
   "detected_at": "2026-11-02T06:10:00.084Z",
   "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-02T05:17:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T05:17:38.000Z",
    "detected_at": "2026-11-02T06:10:00.084Z",
    "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-cc3c18d561784f33b6e21638",
   "url": "/evidence/?pick=n-cc3c18d561784f33b6e21638",
   "quote_text": "Liverpool were downed 1-0 by Arsenal in a tense showdown at Anfield on Sunday",
   "fragment_from": 663,
   "fragment_to": 740,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/title-race/feature/liverpool-0-1-arsenal-what-went-wrong-for-iraola-as-gunners-break-anfield-curse_608215.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c329183460729acc3cabc6f41d62a9a7d40108bf663fc669604cec0894265330",
    "material_removed": false
   },
   "published_at": "2026-11-02T05:17:38.000Z",
   "detected_at": "2026-11-02T06:10:00.084Z",
   "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-02T05:17:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T05:17:38.000Z",
    "detected_at": "2026-11-02T06:10:00.084Z",
    "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-df460d8fa341ce34acc1e499",
   "url": "/evidence/?pick=n-df460d8fa341ce34acc1e499",
   "quote_text": "As for Lille, they are missing the versatile Ethan Mbappe, who is serving the final game of his suspension",
   "fragment_from": 3137,
   "fragment_to": 3243,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bodo-glimt/champions-league/preview/bodoglimt-vs-lille-prediction-team-news-lineups_608214.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a4bd935f99a24fd83dcd67f8d85300fdc51a98d3ec4a51125ed3edaee5e3b83b",
    "material_removed": false
   },
   "published_at": "2026-11-01T23:59:10.000Z",
   "detected_at": "2026-11-02T00:10:38.933Z",
   "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-01T23:59:10.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T23:59:10.000Z",
    "detected_at": "2026-11-02T00:10:38.933Z",
    "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-110f598d62db3e7d63234691",
   "url": "/evidence/?pick=n-110f598d62db3e7d63234691",
   "quote_text": "Bodo will be without goalkeepers Julian Faye Lund and Isak Sjong due to respective injuries",
   "fragment_from": 2707,
   "fragment_to": 2798,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bodo-glimt/champions-league/preview/bodoglimt-vs-lille-prediction-team-news-lineups_608214.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a4bd935f99a24fd83dcd67f8d85300fdc51a98d3ec4a51125ed3edaee5e3b83b",
    "material_removed": false
   },
   "published_at": "2026-11-01T23:59:10.000Z",
   "detected_at": "2026-11-02T00:10:38.933Z",
   "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-01T23:59:10.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T23:59:10.000Z",
    "detected_at": "2026-11-02T00:10:38.933Z",
    "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-13f084c6a38e83cd63e3f6a5",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-13f084c6a38e83cd63e3f6a5",
   "quote_text": "We say: Bodo/Glimt 2-2 Lille",
   "fragment_from": 4017,
   "fragment_to": 4045,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bodo-glimt/champions-league/preview/bodoglimt-vs-lille-prediction-team-news-lineups_608214.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a4bd935f99a24fd83dcd67f8d85300fdc51a98d3ec4a51125ed3edaee5e3b83b",
    "material_removed": false
   },
   "published_at": "2026-11-01T23:59:10.000Z",
   "detected_at": "2026-11-02T00:10:38.933Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-193ed1746086",
    "display_name": "Bodø/Glimt — Lille",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-03T20:00:00.000Z",
    "url": "/football/matches/bodo-glimt-vs-lille-2026-11-03/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Bodø/Glimt 2-2 Lille",
   "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-01T23:59:10.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T23:59:10.000Z",
    "detected_at": "2026-11-02T00:10:38.933Z",
    "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": "Bodø/Glimt 2-2 Lille",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Bodø/Glimt 2-2 Lille"
   },
   "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 Bodø/Glimt 0-0 Lille."
   },
   "settlements": [
    {
     "operation_id": "83b1bc24e29c1100b9c8500fe9ed1272fa1d18bf727ce692f1f77a78577df745",
     "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.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 30000,
     "executed_at": "2026-11-02T17:00:48.681Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/bodo-glimt/champions-league/preview/bodoglimt-vs-lille-prediction-team-news-lineups_608214.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-bc3fa33ebe5f9c489d5644cc",
   "url": "/evidence/?pick=n-bc3fa33ebe5f9c489d5644cc",
   "quote_text": "Man City have no suspended players for this match.",
   "fragment_from": 1695,
   "fragment_to": 1745,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-city/injury-news/injuries-and-suspensions/when-will-semenyo-be-back-man-city-injury-suspension-list-vs-rb-leipzig_608225.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3e08efb87333d82048236d5d9d273ec8adead28e31b1bb8efd4d2ea84270e484",
    "material_removed": false
   },
   "published_at": "2026-11-01T22:59:50.000Z",
   "detected_at": "2026-11-01T23:10:27.229Z",
   "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-01T22:59:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T22:59:50.000Z",
    "detected_at": "2026-11-01T23:10:27.229Z",
    "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-2ba22975ae11df1d1c566be0",
   "url": "/evidence/?pick=n-2ba22975ae11df1d1c566be0",
   "quote_text": "Antoine Semenyo has been sidelined since picking up a knee injury against Ipswich Town on October 17",
   "fragment_from": 1311,
   "fragment_to": 1411,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-city/injury-news/injuries-and-suspensions/when-will-semenyo-be-back-man-city-injury-suspension-list-vs-rb-leipzig_608225.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3e08efb87333d82048236d5d9d273ec8adead28e31b1bb8efd4d2ea84270e484",
    "material_removed": false
   },
   "published_at": "2026-11-01T22:59:50.000Z",
   "detected_at": "2026-11-01T23:10:27.229Z",
   "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-01T22:59:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T22:59:50.000Z",
    "detected_at": "2026-11-01T23:10:27.229Z",
    "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-fa471b73af75f9baf5073d84",
   "url": "/evidence/?pick=n-fa471b73af75f9baf5073d84",
   "quote_text": "Manchester City will travel to face RB Leipzig in the Champions League on Wednesday night",
   "fragment_from": 427,
   "fragment_to": 516,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/man-city/injury-news/injuries-and-suspensions/when-will-semenyo-be-back-man-city-injury-suspension-list-vs-rb-leipzig_608225.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3e08efb87333d82048236d5d9d273ec8adead28e31b1bb8efd4d2ea84270e484",
    "material_removed": false
   },
   "published_at": "2026-11-01T22:59:50.000Z",
   "detected_at": "2026-11-01T23:10:27.229Z",
   "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-01T22:59:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T22:59:50.000Z",
    "detected_at": "2026-11-01T23:10:27.229Z",
    "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-ee4e5838799ecd752b50e214",
   "url": "/evidence/?pick=n-ee4e5838799ecd752b50e214",
   "quote_text": "centre-forwards Imad Rondic, Ragnar Ache (thigh), and Thijs Dallinga (cruciate ligament injury) all out of action",
   "fragment_from": 3538,
   "fragment_to": 3651,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/union-berlin/preview/union-berlin-vs-fc-koln-prediction-team-news-lineups_608118.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3d48769d7b89cf3fc4eb4be1a8abd58af2940e7bd2f3d6aa4f88acf7ef930fcd",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:59:54.000Z",
   "detected_at": "2026-10-31T00:11:46.122Z",
   "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-30T23:59:54.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:59:54.000Z",
    "detected_at": "2026-10-31T00:11:46.122Z",
    "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-08dc73049c628b082cbfd48e",
   "url": "/evidence/?pick=n-08dc73049c628b082cbfd48e",
   "quote_text": "left-back Andrik Markgraf is dealing with a knee problem.",
   "fragment_from": 3018,
   "fragment_to": 3075,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/union-berlin/preview/union-berlin-vs-fc-koln-prediction-team-news-lineups_608118.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3d48769d7b89cf3fc4eb4be1a8abd58af2940e7bd2f3d6aa4f88acf7ef930fcd",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:59:54.000Z",
   "detected_at": "2026-10-31T00:11:46.122Z",
   "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-30T23:59:54.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:59:54.000Z",
    "detected_at": "2026-10-31T00:11:46.122Z",
    "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-750383b13bd73b951ea1c58a",
   "url": "/evidence/?pick=n-750383b13bd73b951ea1c58a",
   "quote_text": "Union are without Stanley Nsoki due to a calf injury",
   "fragment_from": 2861,
   "fragment_to": 2913,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/union-berlin/preview/union-berlin-vs-fc-koln-prediction-team-news-lineups_608118.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3d48769d7b89cf3fc4eb4be1a8abd58af2940e7bd2f3d6aa4f88acf7ef930fcd",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:59:54.000Z",
   "detected_at": "2026-10-31T00:11:46.122Z",
   "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-30T23:59:54.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:59:54.000Z",
    "detected_at": "2026-10-31T00:11:46.122Z",
    "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-651d8e0c45a8434ea95fa4cc",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-651d8e0c45a8434ea95fa4cc",
   "quote_text": "We say: Union Berlin 1-1 FC Koln",
   "fragment_from": 4427,
   "fragment_to": 4459,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/union-berlin/preview/union-berlin-vs-fc-koln-prediction-team-news-lineups_608118.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3d48769d7b89cf3fc4eb4be1a8abd58af2940e7bd2f3d6aa4f88acf7ef930fcd",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:59:54.000Z",
   "detected_at": "2026-10-31T00:11:46.122Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-bd350f450c46",
    "display_name": "1. FC Union Berlin — 1. FC Köln",
    "competition_name": "Bundesliga",
    "starts_at": "2026-11-01T14:30:00.000Z",
    "url": "/football/matches/1-fc-union-berlin-vs-1-fc-koln-2026-11-01/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "1. FC Union Berlin 1-1 1. FC Köln",
   "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-30T23:59:54.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:59:54.000Z",
    "detected_at": "2026-10-31T00:11:46.122Z",
    "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": "1. FC Union Berlin 1-1 1. FC Köln",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: 1. FC Union Berlin 1-1 1. FC Köln"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Matched: the final score was 1. FC Union Berlin 1-1 1. FC Köln."
   },
   "settlements": [
    {
     "operation_id": "4d6cb83bab33b232c4d02191997f5de908d2d9c9462bdfc888066a5148901f04",
     "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.6000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 26000,
     "executed_at": "2026-10-31T13:34:22.417Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/union-berlin/preview/union-berlin-vs-fc-koln-prediction-team-news-lineups_608118.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-738ee74647f57a8624c06160",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-738ee74647f57a8624c06160",
   "quote_text": "We say: Borussia Monchengladbach 2-1 SC Paderborn",
   "fragment_from": 4997,
   "fragment_to": 5046,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/borussia-monchengladbach/preview/borussia-mbach-vs-sc-paderborn-prediction-team-news-lineups_608020.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "765c180ed6ba16d468484aa056e32998de893cd766136bb11bd2be013b658d40",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:09:00.000Z",
   "detected_at": "2026-10-30T06:12:30.812Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-941a5bb75f38",
    "display_name": "Borussia M'gladbach — SC Paderborn 07",
    "competition_name": "Bundesliga",
    "starts_at": "2026-10-31T14:30:00.000Z",
    "url": "/football/matches/borussia-m-gladbach-vs-sc-paderborn-07-2026-10-31/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Borussia M'gladbach 2-1 SC Paderborn 07",
   "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-30T05:09:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:09:00.000Z",
    "detected_at": "2026-10-30T06:12:30.812Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Borussia M'gladbach 2-1 SC Paderborn 07",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Borussia M'gladbach 2-1 SC Paderborn 07"
   },
   "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 Borussia M'gladbach 0-0 SC Paderborn 07."
   },
   "settlements": [
    {
     "operation_id": "467bbcdeac07274a1776445893d2a25a49db527eb7a7f6c5a1f27fefae032783",
     "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": "Borussia M'gladbach",
     "decimal_odds": "1.9750",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-30T08:39:14.251Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/borussia-monchengladbach/preview/borussia-mbach-vs-sc-paderborn-prediction-team-news-lineups_608020.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-cec9253a2e250860ab720bb0",
   "url": "/evidence/?pick=n-cec9253a2e250860ab720bb0",
   "quote_text": "As for Stuttgart, they are missing young wingers Justin Diehl and Leo Sauer, who are dealing with thigh and groin injuries",
   "fragment_from": 3799,
   "fragment_to": 3921,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c91d3fc761aea113e148128665609213aa29b747c48d1ed844c123d3e5185811",
    "material_removed": false
   },
   "published_at": "2026-10-29T23:00:37.000Z",
   "detected_at": "2026-10-30T04:10:10.950Z",
   "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-29T23:00:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T23:00:37.000Z",
    "detected_at": "2026-10-30T04:10:10.950Z",
    "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-1aa5dc92e1941fe8a23f36f9",
   "url": "/evidence/?pick=n-1aa5dc92e1941fe8a23f36f9",
   "quote_text": "Leverkusen will be without wingers Eliesse Ben Seghir and Moussa Diaby due to respective hamstring injuries",
   "fragment_from": 2933,
   "fragment_to": 3040,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c91d3fc761aea113e148128665609213aa29b747c48d1ed844c123d3e5185811",
    "material_removed": false
   },
   "published_at": "2026-10-29T23:00:37.000Z",
   "detected_at": "2026-10-30T04:10:10.950Z",
   "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-29T23:00:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T23:00:37.000Z",
    "detected_at": "2026-10-30T04:10:10.950Z",
    "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-a1bbebff01299e1f1b5d5930",
   "url": "/evidence/?pick=n-a1bbebff01299e1f1b5d5930",
   "quote_text": "Die Roten are likely to walk away empty handed from BayArena on Saturday.",
   "fragment_from": 5136,
   "fragment_to": 5209,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c91d3fc761aea113e148128665609213aa29b747c48d1ed844c123d3e5185811",
    "material_removed": false
   },
   "published_at": "2026-10-29T23:00:37.000Z",
   "detected_at": "2026-10-30T04:10:10.950Z",
   "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-29T23:00:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T23:00:37.000Z",
    "detected_at": "2026-10-30T04:10:10.950Z",
    "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-f1150696d50fc7819d6a5278",
   "url": "/evidence/?pick=n-f1150696d50fc7819d6a5278",
   "quote_text": "Die Werkself are eyeing an eighth win from nine games this weekend",
   "fragment_from": 427,
   "fragment_to": 493,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c91d3fc761aea113e148128665609213aa29b747c48d1ed844c123d3e5185811",
    "material_removed": false
   },
   "published_at": "2026-10-29T23:00:37.000Z",
   "detected_at": "2026-10-30T04:10:10.950Z",
   "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-29T23:00:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T23:00:37.000Z",
    "detected_at": "2026-10-30T04:10:10.950Z",
    "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-4a5ee2232e627142ae155031",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-4a5ee2232e627142ae155031",
   "quote_text": "We say: Bayer Leverkusen 3-1 Stuttgart",
   "fragment_from": 4826,
   "fragment_to": 4864,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c91d3fc761aea113e148128665609213aa29b747c48d1ed844c123d3e5185811",
    "material_removed": false
   },
   "published_at": "2026-10-29T23:00:37.000Z",
   "detected_at": "2026-10-30T04:10:10.950Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-13162f93c610",
    "display_name": "Bayer 04 Leverkusen — VfB Stuttgart",
    "competition_name": "Bundesliga",
    "starts_at": "2026-10-31T14:30:00.000Z",
    "url": "/football/matches/bayer-04-leverkusen-vs-vfb-stuttgart-2026-10-31/",
    "scoreline": "2-4",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Bayer 04 Leverkusen 3-1 VfB Stuttgart",
   "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-29T23:00:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T23:00:37.000Z",
    "detected_at": "2026-10-30T04:10:10.950Z",
    "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": "Bayer 04 Leverkusen 3-1 VfB Stuttgart",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Bayer 04 Leverkusen 3-1 VfB Stuttgart"
   },
   "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 Bayer 04 Leverkusen 2-4 VfB Stuttgart."
   },
   "settlements": [
    {
     "operation_id": "9ec7f579aaa213fda7acb78f9acee81b20027ed274cc9d10738d1c39cd0bc5e2",
     "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": "Bayer 04 Leverkusen",
     "decimal_odds": "1.8000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-31T13:24:26.826Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a3aebe20fb1e9817d61735bf",
   "url": "/evidence/?pick=n-a3aebe20fb1e9817d61735bf",
   "quote_text": "Augsburg will be without centre-backs Abdulai Juma Bah, who is suspended due to his red card against Union, Noahkai Banks, who has a knee injury, and Calvin Brackelmann",
   "fragment_from": 3169,
   "fragment_to": 3337,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/augsburg/preview/augsburg-vs-freiburg-prediction-team-news-lineups_608019.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "70e4a647f36604866b795977dab8c9da36a9e495a7d9467448ebcc5dd8075634",
    "material_removed": false
   },
   "published_at": "2026-10-30T03:35:00.000Z",
   "detected_at": "2026-10-30T04:10:06.634Z",
   "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-30T03:35:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T03:35:00.000Z",
    "detected_at": "2026-10-30T04:10:06.634Z",
    "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-5ea3b639e00a505dbb69394d",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-5ea3b639e00a505dbb69394d",
   "quote_text": "We say: Augsburg 1-1 Freiburg",
   "fragment_from": 4595,
   "fragment_to": 4624,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/augsburg/preview/augsburg-vs-freiburg-prediction-team-news-lineups_608019.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "70e4a647f36604866b795977dab8c9da36a9e495a7d9467448ebcc5dd8075634",
    "material_removed": false
   },
   "published_at": "2026-10-30T03:35:00.000Z",
   "detected_at": "2026-10-30T04:10:06.634Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-3424cd07a380",
    "display_name": "FC Augsburg — SC Freiburg",
    "competition_name": "Bundesliga",
    "starts_at": "2026-10-31T14:30:00.000Z",
    "url": "/football/matches/fc-augsburg-vs-sc-freiburg-2026-10-31/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "FC Augsburg 1-1 SC Freiburg",
   "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-30T03:35:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T03:35:00.000Z",
    "detected_at": "2026-10-30T04:10:06.634Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "FC Augsburg 1-1 SC Freiburg",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: FC Augsburg 1-1 SC Freiburg"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was FC Augsburg 1-2 SC Freiburg."
   },
   "settlements": [
    {
     "operation_id": "704e522b2d0325e2e907535096b3f46c730a592e2daed98b4a828a14328a7053",
     "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.8000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-30T13:32:48.905Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/augsburg/preview/augsburg-vs-freiburg-prediction-team-news-lineups_608019.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4aae894ad19343748112df40",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-4aae894ad19343748112df40",
   "quote_text": "We say: Jeddeloh 1-4 Hertha Berlin",
   "fragment_from": 3974,
   "fragment_to": 4008,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/jeddeloh/dfb-pokal/preview/jeddeloh-vs-hertha-berlin-prediction-team-news-lineups_607771.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fce498c976ca98942d10b65f171fbe41761cb1f030fd1bc8648ced220209fd02",
    "material_removed": false
   },
   "published_at": "2026-10-27T06:21:37.000Z",
   "detected_at": "2026-10-27T07:10:07.821Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-c69d7332c190",
    "display_name": "SSV Jeddeloh — Hertha Berlin",
    "competition_name": "Germany DFB Pokal",
    "starts_at": "2026-10-28T17:00:00.000Z",
    "url": "/football/matches/ssv-jeddeloh-vs-hertha-berlin-2026-10-28/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "SSV Jeddeloh 1-4 Hertha Berlin",
   "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-27T06:21:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T06:21:37.000Z",
    "detected_at": "2026-10-27T07:10:07.821Z",
    "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": "SSV Jeddeloh 1-4 Hertha Berlin",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-4",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: SSV Jeddeloh 1-4 Hertha Berlin"
   },
   "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 SSV Jeddeloh 0-2 Hertha Berlin."
   },
   "settlements": [
    {
     "operation_id": "9a414ac475123cd86d0ecd429a462538f0ca8fc6dba2113a7278c9980dd298fe",
     "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": "Hertha Berlin",
     "decimal_odds": "1.0430",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 430,
     "executed_at": "2026-10-28T01:04:35.866Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/jeddeloh/dfb-pokal/preview/jeddeloh-vs-hertha-berlin-prediction-team-news-lineups_607771.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-8f60f44a211fba321e486bc4",
   "url": "/evidence/?pick=n-8f60f44a211fba321e486bc4",
   "quote_text": "it would be fair to say that suffering humiliation against a promoted opponent is far from the",
   "fragment_from": 881,
   "fragment_to": 975,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/dfb-pokal/preview/b-leverkusen-vs-nuremberg-prediction-team-news-lineups_607773.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6bc8f78cdfc4b9a23fa60a0a2c363586b6d1ef22b17916204812083a08b28ab0",
    "material_removed": false
   },
   "published_at": "2026-10-27T05:20:00.000Z",
   "detected_at": "2026-10-27T06:09:53.682Z",
   "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-27T05:20:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T05:20:00.000Z",
    "detected_at": "2026-10-27T06:09:53.682Z",
    "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-ba8475279c8b7d0d168ea315",
   "url": "/evidence/?pick=n-ba8475279c8b7d0d168ea315",
   "quote_text": "Nuremberg possible starting lineup:\n\nReichert; Janish, Kalogeropoulos, Mkrtchyan, Porstner; Markhiev",
   "fragment_from": 4263,
   "fragment_to": 4363,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/dfb-pokal/preview/b-leverkusen-vs-nuremberg-prediction-team-news-lineups_607773.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6bc8f78cdfc4b9a23fa60a0a2c363586b6d1ef22b17916204812083a08b28ab0",
    "material_removed": false
   },
   "published_at": "2026-10-27T05:20:00.000Z",
   "detected_at": "2026-10-27T06:09:53.682Z",
   "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-27T05:20:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T05:20:00.000Z",
    "detected_at": "2026-10-27T06:09:53.682Z",
    "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-ac85fd0f5b51fe6356750836",
   "url": "/evidence/?pick=n-ac85fd0f5b51fe6356750836",
   "quote_text": "Leverkusen will be without Moussa Diaby and Martin Terrier due to respective hamstring injuries",
   "fragment_from": 2798,
   "fragment_to": 2893,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/dfb-pokal/preview/b-leverkusen-vs-nuremberg-prediction-team-news-lineups_607773.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6bc8f78cdfc4b9a23fa60a0a2c363586b6d1ef22b17916204812083a08b28ab0",
    "material_removed": false
   },
   "published_at": "2026-10-27T05:20:00.000Z",
   "detected_at": "2026-10-27T06:09:53.682Z",
   "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-27T05:20:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T05:20:00.000Z",
    "detected_at": "2026-10-27T06:09:53.682Z",
    "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-61b9fb64afdc30e89cf43b07",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-61b9fb64afdc30e89cf43b07",
   "quote_text": "We say: Bayer Leverkusen 3-1 Nuremberg",
   "fragment_from": 4409,
   "fragment_to": 4447,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/dfb-pokal/preview/b-leverkusen-vs-nuremberg-prediction-team-news-lineups_607773.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6bc8f78cdfc4b9a23fa60a0a2c363586b6d1ef22b17916204812083a08b28ab0",
    "material_removed": false
   },
   "published_at": "2026-10-27T05:20:00.000Z",
   "detected_at": "2026-10-27T06:09:53.682Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "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-27T05:20:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T05:20:00.000Z",
    "detected_at": "2026-10-27T06:09:53.682Z",
    "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-ce9e7cda26d3b19b9a1e7adb",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-ce9e7cda26d3b19b9a1e7adb",
   "quote_text": "We say: Dynamo Dresden 1-3 Schalke 04",
   "fragment_from": 4285,
   "fragment_to": 4322,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/dynamo-dresden/dfb-pokal/preview/dynamo-dresden-vs-schalke-prediction-team-news-lineups_607770.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "cfb2cf9606cbdb37852d723a7157ddd7d34080bdc9aad39e0e46b020af9fe1d5",
    "material_removed": false
   },
   "published_at": "2026-10-27T04:33:00.000Z",
   "detected_at": "2026-10-27T05:09:53.681Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-fe9a1d04d226",
    "display_name": "Dynamo Dresden — FC Schalke 04",
    "competition_name": "Germany DFB Pokal",
    "starts_at": "2026-10-28T17:00:00.000Z",
    "url": "/football/matches/dynamo-dresden-vs-fc-schalke-04-2026-10-28/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Dynamo Dresden 1-3 FC Schalke 04",
   "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-27T04:33:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T04:33:00.000Z",
    "detected_at": "2026-10-27T05:09:53.681Z",
    "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": "Dynamo Dresden 1-3 FC Schalke 04",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Dynamo Dresden 1-3 FC Schalke 04"
   },
   "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 Dynamo Dresden 2-0 FC Schalke 04."
   },
   "settlements": [
    {
     "operation_id": "43d9a354294ac7b2c82775e3f38d586ebe4c178f1b31dda16f8e925680fbf699",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "FC Schalke 04",
     "decimal_odds": "1.9050",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-28T01:00:44.105Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/dynamo-dresden/dfb-pokal/preview/dynamo-dresden-vs-schalke-prediction-team-news-lineups_607770.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-6bb1dac19bbe736b1fe20add",
   "url": "/evidence/?pick=n-6bb1dac19bbe736b1fe20add",
   "quote_text": "The hosts will be seen as the underdogs to progress, but after scoring four goals across their four home matches this term, and beating Phonix Lubeck 4-2 in the DFB-Pokal's first round to reach this stage, fans will be cautiously optimistic.",
   "fragment_from": 1284,
   "fragment_to": 1525,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/paderborn/dfb-pokal/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_607772.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7b258f03f59424c399bb87e9fe0a450af2dc2748c5a2baedd18f8108f57072fc",
    "material_removed": false
   },
   "published_at": "2026-10-27T03:32:08.000Z",
   "detected_at": "2026-10-27T04:09:54.731Z",
   "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-27T03:32:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T03:32:08.000Z",
    "detected_at": "2026-10-27T04:09:54.731Z",
    "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-e707b6018c670fcb91f5651b",
   "url": "/evidence/?pick=n-e707b6018c670fcb91f5651b",
   "quote_text": "As for Stuttgart, they are missing centre-back Dan-Axel Zagadou and right-back Josha Vagnoman",
   "fragment_from": 3374,
   "fragment_to": 3467,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/paderborn/dfb-pokal/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_607772.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7b258f03f59424c399bb87e9fe0a450af2dc2748c5a2baedd18f8108f57072fc",
    "material_removed": false
   },
   "published_at": "2026-10-27T03:32:08.000Z",
   "detected_at": "2026-10-27T04:09:54.731Z",
   "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-27T03:32:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T03:32:08.000Z",
    "detected_at": "2026-10-27T04:09:54.731Z",
    "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-a7d163c55d9ca17921656cb4",
   "url": "/evidence/?pick=n-a7d163c55d9ca17921656cb4",
   "quote_text": "The hosts are also down a couple of midfielders, with Sebastian Klaas working his way back",
   "fragment_from": 2968,
   "fragment_to": 3058,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/paderborn/dfb-pokal/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_607772.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7b258f03f59424c399bb87e9fe0a450af2dc2748c5a2baedd18f8108f57072fc",
    "material_removed": false
   },
   "published_at": "2026-10-27T03:32:08.000Z",
   "detected_at": "2026-10-27T04:09:54.731Z",
   "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-27T03:32:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T03:32:08.000Z",
    "detected_at": "2026-10-27T04:09:54.731Z",
    "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-5b218cd4892721087e288c3b",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-5b218cd4892721087e288c3b",
   "quote_text": "We say: SC Paderborn 2-1 Stuttgart",
   "fragment_from": 4226,
   "fragment_to": 4260,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/paderborn/dfb-pokal/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_607772.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7b258f03f59424c399bb87e9fe0a450af2dc2748c5a2baedd18f8108f57072fc",
    "material_removed": false
   },
   "published_at": "2026-10-27T03:32:08.000Z",
   "detected_at": "2026-10-27T04:09:54.731Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-538c81a6429b",
    "display_name": "SC Paderborn 07 — VfB Stuttgart",
    "competition_name": "Germany DFB Pokal",
    "starts_at": "2026-10-28T17:00:00.000Z",
    "url": "/football/matches/sc-paderborn-07-vs-vfb-stuttgart-2026-10-28/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "SC Paderborn 07 2-1 VfB Stuttgart",
   "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-27T03:32:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T03:32:08.000Z",
    "detected_at": "2026-10-27T04:09:54.731Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "SC Paderborn 07 2-1 VfB Stuttgart",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: SC Paderborn 07 2-1 VfB Stuttgart"
   },
   "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 SC Paderborn 07 0-1 VfB Stuttgart."
   },
   "settlements": [
    {
     "operation_id": "9f404d6c49113e9aed2b6f1334156bf41c8cfb9be1b71466e60da57b31298733",
     "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": "SC Paderborn 07",
     "decimal_odds": "5.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-28T01:00:43.624Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/paderborn/dfb-pokal/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_607772.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-868341eac9893fcb0d5236ca",
   "url": "/evidence/?pick=n-868341eac9893fcb0d5236ca",
   "quote_text": "Victor Munoz picked up a knock to his knee against Brentford",
   "fragment_from": 2131,
   "fragment_to": 2191,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/league-cup/injuries-and-suspensions/will-wirtz-and-szoboszlai-be-back-liverpool-injury-suspension-list-vs-chelsea_607776.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "105728232cddf937b9b1ddc0d6955e9800a79c471bd6fa950881ea36713a7a34",
    "material_removed": false
   },
   "published_at": "2026-10-27T00:56:35.000Z",
   "detected_at": "2026-10-27T01:10:02.575Z",
   "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-27T00:56:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T00:56:35.000Z",
    "detected_at": "2026-10-27T01:10:02.575Z",
    "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-120c6b5e16334e75caa25cc0",
   "url": "/evidence/?pick=n-120c6b5e16334e75caa25cc0",
   "quote_text": "Dominik Szoboszlai sat out the Reds' 3-0 defeat to Manchester City with a hamstring issue",
   "fragment_from": 1561,
   "fragment_to": 1650,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/league-cup/injuries-and-suspensions/will-wirtz-and-szoboszlai-be-back-liverpool-injury-suspension-list-vs-chelsea_607776.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "105728232cddf937b9b1ddc0d6955e9800a79c471bd6fa950881ea36713a7a34",
    "material_removed": false
   },
   "published_at": "2026-10-27T00:56:35.000Z",
   "detected_at": "2026-10-27T01:10:02.575Z",
   "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-27T00:56:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T00:56:35.000Z",
    "detected_at": "2026-10-27T01:10:02.575Z",
    "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-ca1c3dd062ba66e6c8a25164",
   "url": "/evidence/?pick=n-ca1c3dd062ba66e6c8a25164",
   "quote_text": "Florian Wirtz, who forced Gross's own goal, was taken off with an ankle issue.",
   "fragment_from": 704,
   "fragment_to": 782,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/liverpool/league-cup/injuries-and-suspensions/will-wirtz-and-szoboszlai-be-back-liverpool-injury-suspension-list-vs-chelsea_607776.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "105728232cddf937b9b1ddc0d6955e9800a79c471bd6fa950881ea36713a7a34",
    "material_removed": false
   },
   "published_at": "2026-10-27T00:56:35.000Z",
   "detected_at": "2026-10-27T01:10:02.575Z",
   "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-27T00:56:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T00:56:35.000Z",
    "detected_at": "2026-10-27T01:10:02.575Z",
    "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-e4e11af6be9124b218ffe439",
   "url": "/evidence/?pick=n-e4e11af6be9124b218ffe439",
   "quote_text": "Bayern Munich striker beat out the likes of Barcelona's Lamine Yamal and Real Madrid's Kylian Mbappe",
   "fragment_from": 742,
   "fragment_to": 842,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ballon-dor/feature/ballon-dor-2026-rankings-in-full_607774.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ba4fe5967d5fb9e54faca167335f03dc639fe5dbf823894754b6a503e1a97242",
    "material_removed": false
   },
   "published_at": "2026-10-26T23:53:59.000Z",
   "detected_at": "2026-10-27T00:10:12.991Z",
   "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-26T23:53:59.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T23:53:59.000Z",
    "detected_at": "2026-10-27T00:10:12.991Z",
    "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-20aea74a31b4145229cdde83",
   "url": "/evidence/?pick=n-20aea74a31b4145229cdde83",
   "quote_text": "Harry Kane became the first English player to win the prestigious Ballon d'Or for 25 years",
   "fragment_from": 317,
   "fragment_to": 407,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ballon-dor/feature/ballon-dor-2026-rankings-in-full_607774.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ba4fe5967d5fb9e54faca167335f03dc639fe5dbf823894754b6a503e1a97242",
    "material_removed": false
   },
   "published_at": "2026-10-26T23:53:59.000Z",
   "detected_at": "2026-10-27T00:10:12.991Z",
   "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-26T23:53:59.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T23:53:59.000Z",
    "detected_at": "2026-10-27T00:10:12.991Z",
    "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-5813e444431f302f3068fcb1",
   "url": "/evidence/?pick=n-5813e444431f302f3068fcb1",
   "quote_text": "striker Steve Mounie is expected to be unavailable once again",
   "fragment_from": 3847,
   "fragment_to": 3908,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/sonnenhof-grossaspach/dfb-pokal/preview/sonnenhof-grossaspach-vs-augsburg-prediction-team-news-lineups_607697.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f679a311bbb3728ee2e2d5647cbb07de6b34d9a6760ddc63bde960f92ec849d8",
    "material_removed": false
   },
   "published_at": "2026-10-26T02:15:01.000Z",
   "detected_at": "2026-10-26T03:10:05.705Z",
   "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-26T02:15:01.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T02:15:01.000Z",
    "detected_at": "2026-10-26T03:10:05.705Z",
    "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-f0d79501ea9ac481a9b4d8fd",
   "url": "/evidence/?pick=n-f0d79501ea9ac481a9b4d8fd",
   "quote_text": "missing centre-backs Noahkai Banks and Calvin Brackelmann due to respective knee and head injuries",
   "fragment_from": 3381,
   "fragment_to": 3479,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/sonnenhof-grossaspach/dfb-pokal/preview/sonnenhof-grossaspach-vs-augsburg-prediction-team-news-lineups_607697.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f679a311bbb3728ee2e2d5647cbb07de6b34d9a6760ddc63bde960f92ec849d8",
    "material_removed": false
   },
   "published_at": "2026-10-26T02:15:01.000Z",
   "detected_at": "2026-10-26T03:10:05.705Z",
   "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-26T02:15:01.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T02:15:01.000Z",
    "detected_at": "2026-10-26T03:10:05.705Z",
    "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-1ac9609a1109037268f4bb94",
   "url": "/evidence/?pick=n-1ac9609a1109037268f4bb94",
   "quote_text": "fans will be expecting a comfortable win in midweek.",
   "fragment_from": 2662,
   "fragment_to": 2714,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/sonnenhof-grossaspach/dfb-pokal/preview/sonnenhof-grossaspach-vs-augsburg-prediction-team-news-lineups_607697.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f679a311bbb3728ee2e2d5647cbb07de6b34d9a6760ddc63bde960f92ec849d8",
    "material_removed": false
   },
   "published_at": "2026-10-26T02:15:01.000Z",
   "detected_at": "2026-10-26T03:10:05.705Z",
   "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-26T02:15:01.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T02:15:01.000Z",
    "detected_at": "2026-10-26T03:10:05.705Z",
    "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-6b02b34be4606054b19f5dee",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-6b02b34be4606054b19f5dee",
   "quote_text": "We say: Sonnenhof Grossaspach 1-3 Augsburg",
   "fragment_from": 4278,
   "fragment_to": 4320,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/sonnenhof-grossaspach/dfb-pokal/preview/sonnenhof-grossaspach-vs-augsburg-prediction-team-news-lineups_607697.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f679a311bbb3728ee2e2d5647cbb07de6b34d9a6760ddc63bde960f92ec849d8",
    "material_removed": false
   },
   "published_at": "2026-10-26T02:15:01.000Z",
   "detected_at": "2026-10-26T03:10:05.705Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-df67c8fa027a",
    "display_name": "SG Sonnenhof Grossaspach — FC Augsburg",
    "competition_name": "Germany DFB Pokal",
    "starts_at": "2026-10-27T17:00:00.000Z",
    "url": "/football/matches/sg-sonnenhof-grossaspach-vs-fc-augsburg-2026-10-27/",
    "scoreline": "2-4",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "SG Sonnenhof Grossaspach 1-3 FC Augsburg",
   "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-26T02:15:01.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T02:15:01.000Z",
    "detected_at": "2026-10-26T03:10:05.705Z",
    "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": "SG Sonnenhof Grossaspach 1-3 FC Augsburg",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: SG Sonnenhof Grossaspach 1-3 FC Augsburg"
   },
   "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 SG Sonnenhof Grossaspach 2-4 FC Augsburg."
   },
   "settlements": [
    {
     "operation_id": "503b51b44308f28603e45a38d248e3c73eda7a4aa5fe4d0066e85f566ddd2ac6",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "FC Augsburg",
     "decimal_odds": "1.3140",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3140,
     "executed_at": "2026-10-27T01:35:51.385Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/sonnenhof-grossaspach/dfb-pokal/preview/sonnenhof-grossaspach-vs-augsburg-prediction-team-news-lineups_607697.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3759f9f657e104344bac78fb",
   "url": "/evidence/?pick=n-3759f9f657e104344bac78fb",
   "quote_text": "Adi Hutter's Frankfurt have made an inconsistent start of their own, winning just two their eight matches",
   "fragment_from": 1753,
   "fragment_to": 1858,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hamburger-sv/dfb-pokal/preview/hamburger-sv-vs-frankfurt-prediction-team-news-lineups_607696.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67687e3509559c2782e0bde57db3f138df5dc165a1148526db81b03237c1e045",
    "material_removed": false
   },
   "published_at": "2026-10-25T23:59:43.000Z",
   "detected_at": "2026-10-26T00:10:02.810Z",
   "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-25T23:59:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-25T23:59:43.000Z",
    "detected_at": "2026-10-26T00:10:02.810Z",
    "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-640bc15613ddc05df1132518",
   "url": "/evidence/?pick=n-640bc15613ddc05df1132518",
   "quote_text": "Hamburger could rotate significantly, though they will be without midfielders Bilal Nadir",
   "fragment_from": 3030,
   "fragment_to": 3119,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hamburger-sv/dfb-pokal/preview/hamburger-sv-vs-frankfurt-prediction-team-news-lineups_607696.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67687e3509559c2782e0bde57db3f138df5dc165a1148526db81b03237c1e045",
    "material_removed": false
   },
   "published_at": "2026-10-25T23:59:43.000Z",
   "detected_at": "2026-10-26T00:10:02.810Z",
   "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-25T23:59:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-25T23:59:43.000Z",
    "detected_at": "2026-10-26T00:10:02.810Z",
    "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-05bc4be9c1e1f4a30ce90521",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-05bc4be9c1e1f4a30ce90521",
   "quote_text": "We say: Hamburger SV 2-1 Eintracht Frankfurt",
   "fragment_from": 4297,
   "fragment_to": 4341,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/hamburger-sv/dfb-pokal/preview/hamburger-sv-vs-frankfurt-prediction-team-news-lineups_607696.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67687e3509559c2782e0bde57db3f138df5dc165a1148526db81b03237c1e045",
    "material_removed": false
   },
   "published_at": "2026-10-25T23:59:43.000Z",
   "detected_at": "2026-10-26T00:10:02.810Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-c8d2b7f213af",
    "display_name": "Hamburger SV — Eintracht Frankfurt",
    "competition_name": "Germany DFB Pokal",
    "starts_at": "2026-10-27T17:00:00.000Z",
    "url": "/football/matches/hamburger-sv-vs-eintracht-frankfurt-2026-10-27/",
    "scoreline": "1-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Hamburger SV 2-1 Eintracht Frankfurt",
   "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-25T23:59:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-25T23:59:43.000Z",
    "detected_at": "2026-10-26T00:10:02.810Z",
    "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": "Hamburger SV 2-1 Eintracht Frankfurt",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Hamburger SV 2-1 Eintracht Frankfurt"
   },
   "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 Hamburger SV 1-3 Eintracht Frankfurt."
   },
   "settlements": [
    {
     "operation_id": "20d8f12580027279130dc3cb96f09e89cd9dc2de318376de5df8f4933f6e6a98",
     "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": "Hamburger SV",
     "decimal_odds": "2.7500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-27T01:35:51.283Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/hamburger-sv/dfb-pokal/preview/hamburger-sv-vs-frankfurt-prediction-team-news-lineups_607696.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-36752592a8cac14dd220b077",
   "url": "/evidence/?pick=n-36752592a8cac14dd220b077",
   "quote_text": "midfielder Assan Ouedraogo is working his way back after shoulder surgery",
   "fragment_from": 3906,
   "fragment_to": 3979,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rot-weiss-essen/dfb-pokal/preview/rwe-vs-rb-leipzig-prediction-team-news-lineups_607695.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9a5102521e09050e75391b1bf5ae8d4cd4204bd73b048424c37bb9b571236c8",
    "material_removed": false
   },
   "published_at": "2026-10-25T22:42:33.000Z",
   "detected_at": "2026-10-25T23:10:03.028Z",
   "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-25T22:42:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-25T22:42:33.000Z",
    "detected_at": "2026-10-25T23:10:03.028Z",
    "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-2a7ffe4dfedb425f19e67780",
   "url": "/evidence/?pick=n-2a7ffe4dfedb425f19e67780",
   "quote_text": "striker Marc Guiu is continuing his recovery from a hamstring injury",
   "fragment_from": 3836,
   "fragment_to": 3904,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rot-weiss-essen/dfb-pokal/preview/rwe-vs-rb-leipzig-prediction-team-news-lineups_607695.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9a5102521e09050e75391b1bf5ae8d4cd4204bd73b048424c37bb9b571236c8",
    "material_removed": false
   },
   "published_at": "2026-10-25T22:42:33.000Z",
   "detected_at": "2026-10-25T23:10:03.028Z",
   "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-25T22:42:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-25T22:42:33.000Z",
    "detected_at": "2026-10-25T23:10:03.028Z",
    "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-c6ee97a5a24eee7f03e7d80f",
   "url": "/evidence/?pick=n-c6ee97a5a24eee7f03e7d80f",
   "quote_text": "top-flight Die Roten Bullen remain the favourites as they hope to build on their victory at the weekend.",
   "fragment_from": 511,
   "fragment_to": 615,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rot-weiss-essen/dfb-pokal/preview/rwe-vs-rb-leipzig-prediction-team-news-lineups_607695.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9a5102521e09050e75391b1bf5ae8d4cd4204bd73b048424c37bb9b571236c8",
    "material_removed": false
   },
   "published_at": "2026-10-25T22:42:33.000Z",
   "detected_at": "2026-10-25T23:10:03.028Z",
   "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-25T22:42:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-25T22:42:33.000Z",
    "detected_at": "2026-10-25T23:10:03.028Z",
    "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-5f79508c47ce4d24720a6765",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-5f79508c47ce4d24720a6765",
   "quote_text": "We say: Rot-Weiss Essen 1-3 RB Leipzig",
   "fragment_from": 4743,
   "fragment_to": 4781,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rot-weiss-essen/dfb-pokal/preview/rwe-vs-rb-leipzig-prediction-team-news-lineups_607695.html",
    "display_name": null,
    "speaker": "Anthony Nolan",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9a5102521e09050e75391b1bf5ae8d4cd4204bd73b048424c37bb9b571236c8",
    "material_removed": false
   },
   "published_at": "2026-10-25T22:42:33.000Z",
   "detected_at": "2026-10-25T23:10:03.028Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-46cabac201de",
    "display_name": "Rot-Weiss Essen — RB Leipzig",
    "competition_name": "Germany DFB Pokal",
    "starts_at": "2026-10-27T17:00:00.000Z",
    "url": "/football/matches/rot-weiss-essen-vs-rb-leipzig-2026-10-27/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Rot-Weiss Essen 1-3 RB Leipzig",
   "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-25T22:42:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-25T22:42:33.000Z",
    "detected_at": "2026-10-25T23:10:03.028Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Rot-Weiss Essen 1-3 RB Leipzig",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Rot-Weiss Essen 1-3 RB Leipzig"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Rot-Weiss Essen 1-2 RB Leipzig."
   },
   "settlements": [
    {
     "operation_id": "a2fb2837b914d061fb32bd9d58e4700cc047235d8c56e85a50acb038d98af7fc",
     "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": "RB Leipzig",
     "decimal_odds": "1.2000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 2000,
     "executed_at": "2026-10-27T01:35:51.168Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Anthony Nolan",
    "publisher": "Sports Mole",
    "forecaster": "Anthony Nolan",
    "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/rot-weiss-essen/dfb-pokal/preview/rwe-vs-rb-leipzig-prediction-team-news-lineups_607695.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 0,
  "service": 4,
  "ruleset_version": "3"
 },
 "standing": {
  "titles": [
   {
    "code_name": "E-07",
    "display_name": "Draw at 4.50 · Bodø/Glimt v Lille · 3 Nov 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Long-price call",
    "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": "Draw at 4.50 · Bodø/Glimt v Lille · 3 Nov 2026",
    "rationale": "Draw called correctly at 4.50 (our pre-match price). 33 other tipsters and sources on this match, 3 right (29 named home win, 3 named draw, 1 named away win). 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-e-07-all-event",
    "alt": "Anthony Nolan · Draw at 4.50 · Bodø/Glimt v Lille · 3 Nov 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/anthony-nolan/#title-long-price-call\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-0d19eef6ec81aa8719847920/e-07-all-event-m-light.svg\" alt=\"Anthony Nolan · Draw at 4.50 · Bodø/Glimt v Lille · 3 Nov 2026 · Tracked by Forecast Record\" width=\"754\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 1 Feb 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-11-03",
    "evidence_through": "2026-11-03",
    "earned_at": "2026-11-03",
    "published_at": "2026-11-04",
    "visible_until": "2027-02-01",
    "badge_label": "Correct at 4.50 · 3 Nov",
    "scope_words": null,
    "title_id": "zk-ae709681ca8b0558b589",
    "evidence_items": [
     {
      "nid": "n-13f084c6a38e83cd63e3f6a5",
      "data": "2026-11-03",
      "match": "Bodø/Glimt v Lille",
      "said_text": "Correct score: Bodø/Glimt 2-2 Lille",
      "outcome_label": "score wrong · result right",
      "evidence_price": 4.5,
      "comparison": "33 other tipsters and sources on this match, 3 right (29 named home win, 3 named draw, 1 named away win)",
      "url": "/authors/anthony-nolan/picks/4/#pick-n-13f084c6a38e83cd63e3f6a5"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1025,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1025,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 754,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 754,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 588,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 588,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-0d19eef6ec81aa8719847920/e-07-all-event-card.svg"
    },
    "profile_anchor": "title-ae709681ca8b",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.222222,
     "one_in": 4,
     "log10": -0.65,
     "words": "1 in 4",
     "rule": "market probability (1/price) of this one pick",
     "note": "market prices include the bookmaker margin, so the chance is slightly overstated — a cautious figure"
    },
    "embed_anchor": "title-long-price-call"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–1 · 1. FC Union Berlin v 1. FC Köln · 1 Nov 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 1–1 · 1. FC Union Berlin v 1. FC Köln · 1 Nov 2026",
    "rationale": "Correct score 1–1 called before the match; 5 other tipsters and sources named an exact score on this match, 2 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": "Anthony Nolan · Exact score 1–1 · 1. FC Union Berlin v 1. FC Köln · 1 Nov 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/anthony-nolan/#title-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-m-light.svg\" alt=\"Anthony Nolan · Exact score 1–1 · 1. FC Union Berlin v 1. FC Köln · 1 Nov 2026 · Tracked by Forecast Record\" width=\"884\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 30 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-11-01",
    "evidence_through": "2026-11-01",
    "earned_at": "2026-11-01",
    "published_at": "2026-11-02",
    "visible_until": "2027-01-30",
    "badge_label": "Exact score 1–1 · 1 Nov",
    "scope_words": null,
    "title_id": "zk-7e2b122465958a8df369",
    "evidence_items": [
     {
      "nid": "n-651d8e0c45a8434ea95fa4cc",
      "data": "2026-11-01",
      "match": "1. FC Union Berlin v 1. FC Köln",
      "said_text": "Correct score: 1. FC Union Berlin 1-1 1. FC Köln",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "5 other tipsters and sources named an exact score on this match, 2 right",
      "url": "/authors/anthony-nolan/picks/4/#pick-n-651d8e0c45a8434ea95fa4cc"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1201,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1201,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 884,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 884,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 690,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 690,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-0d19eef6ec81aa8719847920/cs-10-all-event-card.svg"
    },
    "profile_anchor": "title-7e2b12246595",
    "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": "E-07",
    "display_name": "Draw at 3.10 · Sunderland v Leeds United · 25 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-9174ce14f7",
    "bucket": "Long-price call",
    "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": "Draw at 3.10 · Sunderland v Leeds United · 25 Oct 2026",
    "rationale": "Draw called correctly at 3.10 (our pre-match price). 21 other tipsters and sources on this match, 5 right (14 named away win, 5 named draw, 2 named home win). 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-e-07-z-9174ce14f7-event",
    "alt": "Anthony Nolan · Draw at 3.10 · Sunderland v Leeds United · 25 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/anthony-nolan/#title-long-price-call-long-price-call\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-m-light.svg\" alt=\"Anthony Nolan · Draw at 3.10 · Sunderland v Leeds United · 25 Oct 2026 · Tracked by Forecast Record\" width=\"819\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 23 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-25",
    "evidence_through": "2026-10-25",
    "earned_at": "2026-10-25",
    "published_at": "2026-10-26",
    "visible_until": "2027-01-23",
    "badge_label": "Correct at 3.10 · 25 Oct",
    "scope_words": null,
    "title_id": "zk-9174ce14f71d2b137664",
    "evidence_items": [
     {
      "nid": "n-5e7203c4444fd02f23ffdab0",
      "data": "2026-10-25",
      "match": "Sunderland v Leeds United",
      "said_text": "Correct score: Sunderland 1-1 Leeds United",
      "outcome_label": "score wrong · result right",
      "evidence_price": 3.1,
      "comparison": "21 other tipsters and sources on this match, 5 right (14 named away win, 5 named draw, 2 named home win)",
      "url": "/authors/anthony-nolan/picks/4/#pick-n-5e7203c4444fd02f23ffdab0"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1113,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1113,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 819,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 819,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 639,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 639,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-0d19eef6ec81aa8719847920/e-07-z-9174ce14f7-event-card.svg"
    },
    "profile_anchor": "title-9174ce14f71d",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.322581,
     "one_in": 3,
     "log10": -0.49,
     "words": "1 in 3",
     "rule": "market probability (1/price) of this one pick",
     "note": "market prices include the bookmaker margin, so the chance is slightly overstated — a cautious figure"
    },
    "embed_anchor": "title-long-price-call-long-price-call"
   },
   {
    "code_name": "P-09",
    "display_name": "Bundesliga, week of 12 Oct 2026: 3/4 result calls right, first of 14 tipsters…",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Competition week leader",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 4,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Bundesliga, week of 12 Oct 2026: 3/4 result calls right, first of 14 tipsters and sources with 3+ calls",
    "rationale": "In Bundesliga, week 12 Oct 2026–18 Oct 2026 (Monday to Sunday, UTC): 3 of 4 result calls right, the highest share among 14 tipsters and sources with at least 3 result calls in that competition that week; the others: 5/8, 3/7, 2/6, 2/6, 2/5, 2/5, 2/5, 2/4, 1/5, 1/4, 1/4, 1/3, 0/5. 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-p-09-all-event",
    "alt": "Anthony Nolan · Bundesliga, week of 12 Oct 2026: 3/4 result calls right, first of 14 tipsters and sources with 3+ calls · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/anthony-nolan/#title-competition-week-leader\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-0d19eef6ec81aa8719847920/p-09-all-event-m-light.svg\" alt=\"Anthony Nolan · Bundesliga, week of 12 Oct 2026: 3/4 result calls right, first of 14 tipsters and sources with 3+ calls · Tracked by Forecast Record\" width=\"1217\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 15 Feb 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-18",
    "evidence_through": "2026-10-18",
    "earned_at": "2026-10-18",
    "published_at": "2026-10-19",
    "visible_until": "2027-02-15",
    "badge_label": "Bundesliga · 3/4 · 12 Oct",
    "scope_words": "Bundesliga",
    "title_id": "zk-a0bd5e52add1b297ce66",
    "evidence_items": [
     {
      "nid": "n-dc6f1f702c59a2e1165345cc",
      "data": "2026-10-17",
      "match": "1. FC Union Berlin v Borussia Dortmund",
      "said_text": "Correct score: 1. FC Union Berlin 1-3 Borussia Dortmund",
      "outcome_label": "score wrong · result wrong",
      "evidence_price": null,
      "comparison": "16 other tipsters and sources on this match, 0 right (16 named away win)",
      "url": "/authors/anthony-nolan/picks/3/#pick-n-dc6f1f702c59a2e1165345cc"
     },
     {
      "nid": "n-27c7148a630579db2a9c7335",
      "data": "2026-10-17",
      "match": "FC Bayern München v RB Leipzig",
      "said_text": "Correct score: FC Bayern München 3-1 RB Leipzig",
      "outcome_label": "score wrong · result right",
      "evidence_price": null,
      "comparison": "8 other tipsters and sources on this match, 8 right (8 named home win)",
      "url": "/authors/anthony-nolan/picks/3/#pick-n-27c7148a630579db2a9c7335"
     },
     {
      "nid": "n-ecaf53fd1beb0273418dbd87",
      "data": "2026-10-18",
      "match": "Bayer 04 Leverkusen v SC Freiburg",
      "said_text": "Correct score: Bayer 04 Leverkusen 2-1 SC Freiburg",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "7 other tipsters and sources on this match, 5 right (5 named home win, 2 named draw)",
      "url": "/authors/anthony-nolan/picks/3/#pick-n-ecaf53fd1beb0273418dbd87"
     },
     {
      "nid": "n-2a8aa43a2c9c90190b490f37",
      "data": "2026-10-18",
      "match": "Borussia M'gladbach v TSG Hoffenheim",
      "said_text": "Correct score: Borussia M'gladbach 1-3 TSG Hoffenheim",
      "outcome_label": "score wrong · result right",
      "evidence_price": null,
      "comparison": "8 other tipsters and sources on this match, 5 right (5 named away win, 2 named home win, 1 named draw)",
      "url": "/authors/anthony-nolan/picks/3/#pick-n-2a8aa43a2c9c90190b490f37"
     }
    ],
    "evidence_total": 4,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1653,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/p-09-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1653,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/p-09-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 1217,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/p-09-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 1217,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/p-09-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 952,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/p-09-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 952,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/p-09-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-0d19eef6ec81aa8719847920/p-09-all-event-card.svg"
    },
    "profile_anchor": "title-a0bd5e52add1",
    "chance": null,
    "embed_anchor": "title-competition-week-leader"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–1 · Bayer 04 Leverkusen v SC Freiburg · 18 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-773d4383c7",
    "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–1 · Bayer 04 Leverkusen v SC Freiburg · 18 Oct 2026",
    "rationale": "Correct score 2–1 called before the match; 3 other tipsters and sources named an exact score on this match, 2 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-773d4383c7-event",
    "alt": "Anthony Nolan · Exact score 2–1 · Bayer 04 Leverkusen v SC Freiburg · 18 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/anthony-nolan/#title-exact-score-called-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-m-light.svg\" alt=\"Anthony Nolan · Exact score 2–1 · Bayer 04 Leverkusen v SC Freiburg · 18 Oct 2026 · Tracked by Forecast Record\" width=\"908\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 16 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-18",
    "evidence_through": "2026-10-18",
    "earned_at": "2026-10-18",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-16",
    "badge_label": "Exact score 2–1 · 18 Oct",
    "scope_words": null,
    "title_id": "zk-773d4383c7a29ae89563",
    "evidence_items": [
     {
      "nid": "n-ecaf53fd1beb0273418dbd87",
      "data": "2026-10-18",
      "match": "Bayer 04 Leverkusen v SC Freiburg",
      "said_text": "Correct score: Bayer 04 Leverkusen 2-1 SC Freiburg",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "3 other tipsters and sources named an exact score on this match, 2 right",
      "url": "/authors/anthony-nolan/picks/3/#pick-n-ecaf53fd1beb0273418dbd87"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1234,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1234,
       "height": 40,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 908,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 908,
       "height": 28,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 709,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 709,
       "height": 20,
       "url": "/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-0d19eef6ec81aa8719847920/cs-10-z-773d4383c7-event-card.svg"
    },
    "profile_anchor": "title-773d4383c7a2",
    "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-a0bd5e52add1b297ce66",
    "code_name": "P-09",
    "title_tier": "dated_record",
    "badge_label": "Bundesliga · 3/4 · 12 Oct",
    "body": "Bundesliga, week of 12 Oct 2026: 3/4 result calls right, first of 14 tipsters and sources with 3+ calls",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-a0bd5e52add1",
    "event_at": "2026-10-18",
    "url": "/titles/p-09-competition-week-leader/#zk-a0bd5e52add1b297ce66"
   },
   {
    "title_id": "zk-7e2b122465958a8df369",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 1–1 · 1 Nov",
    "body": "Exact score 1–1 · 1. FC Union Berlin v 1. FC Köln · 1 Nov 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-7e2b12246595",
    "event_at": "2026-11-01",
    "url": "/titles/cs-10-exact-score-called/#zk-7e2b122465958a8df369"
   },
   {
    "title_id": "zk-ae709681ca8b0558b589",
    "code_name": "E-07",
    "title_tier": "dated_record",
    "badge_label": "Correct at 4.50 · 3 Nov",
    "body": "Draw at 4.50 · Bodø/Glimt v Lille · 3 Nov 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-ae709681ca8b",
    "event_at": "2026-11-03",
    "url": "/titles/e-07-long-price-call/#zk-ae709681ca8b0558b589"
   }
  ],
  "record_origin": [
   {
    "portion": "live",
    "n": 36,
    "body": "36 recorded before kick-off · since 9 Oct 2026"
   }
  ],
  "recent_record": [
   {
    "code_name": "P-09",
    "body": "Bundesliga, week of 12 Oct 2026: 3/4 result calls right, first of 14 tipsters and sources with 3+ calls",
    "event_at": "2026-10-18",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-a0bd5e52add1"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 1–1 · 1. FC Union Berlin v 1. FC Köln · 1 Nov 2026",
    "event_at": "2026-11-01",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-7e2b12246595"
   },
   {
    "code_name": "E-07",
    "body": "Draw at 4.50 · Bodø/Glimt v Lille · 3 Nov 2026",
    "event_at": "2026-11-03",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-ae709681ca8b"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 2–1 · Bayer 04 Leverkusen v SC Freiburg · 18 Oct 2026",
    "event_at": "2026-10-18",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-773d4383c7a2"
   },
   {
    "code_name": "E-07",
    "body": "Draw at 3.10 · Sunderland v Leeds United · 25 Oct 2026",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-9174ce14f71d"
   }
  ],
  "record_details": [
   {
    "code_name": "M-11",
    "body": "Most recorded: Correct score · 36 matches",
    "details_words": "Correct score 2/36 (36 matches)",
    "url": null,
    "provenance": "live",
    "display_name": "Most recorded bet type",
    "rule_href": "/titles/m-11-most-recorded-bet-type/"
   },
   {
    "code_name": "CS-01",
    "body": "Exact scores · 2/36",
    "details_words": null,
    "url": null,
    "provenance": "live",
    "display_name": "Exact scores",
    "rule_href": "/titles/cs-01-exact-scores/"
   },
   {
    "code_name": "C-01",
    "body": "Minority calls · 1/1",
    "details_words": "Result calls on matches with at least 8 other tipsters and sources, where at least 60.0% of them named another outcome.",
    "url": null,
    "provenance": "live",
    "display_name": "Minority calls",
    "rule_href": "/titles/c-01-minority-calls/"
   },
   {
    "code_name": "X-01",
    "body": "Longest price: correct at 4.50 · 3 Nov 2026",
    "details_words": "Bodø/Glimt v Lille · Draw at 4.50 (our pre-match price) · from the predicted score: Correct score: Bodø/Glimt 2-2 Lille",
    "url": "/authors/anthony-nolan/picks/4/#pick-n-13f084c6a38e83cd63e3f6a5",
    "provenance": "live",
    "display_name": "Correct at a long price",
    "rule_href": "/titles/x-01-correct-at-a-long-price/"
   },
   {
    "code_name": "E-01",
    "body": "Draw calls · 3/10",
    "details_words": null,
    "url": null,
    "provenance": "live",
    "display_name": "Draw calls",
    "rule_href": "/titles/e-01-draw-calls/"
   },
   {
    "code_name": "E-03",
    "body": "Away calls · 6/13",
    "details_words": null,
    "url": null,
    "provenance": "live",
    "display_name": "Away calls",
    "rule_href": "/titles/e-03-away-calls/"
   }
  ],
  "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/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html"
  },
  "observed_from": "2026-09-24",
  "observed_to": "2026-11-07",
  "data_as_of": "2026-11-07",
  "state": "none",
  "series_code": null,
  "series": null,
  "restored": false,
  "headline_kind": null,
  "headline_part": null,
  "settled_picks": 0,
  "matches": 0,
  "void": 0,
  "net_points_hundredths": null,
  "staked_hundredths": null,
  "return_percent": null,
  "stake_per_pick_hundredths": null,
  "period_from": null,
  "period_to": null,
  "status": "unknown",
  "method_version": null,
  "short_history": true,
  "reason": "39 predictions are a score forecast without a price; 13 predictions are on national-team matches; 7 predictions are unstaked and 4 predictions for other reasons",
  "reasons": [
   {
    "code": "score_without_price",
    "predictions": 39,
    "words": "score forecast without a price"
   },
   {
    "code": "outside_coverage",
    "predictions": 13,
    "words": "national-team match"
   },
   {
    "code": "ambiguous",
    "predictions": 7,
    "words": "unstaked"
   },
   {
    "code": "not_supported",
    "predictions": 4,
    "words": "other market"
   }
  ],
  "sentence": "Forecast Record has recorded 414 statements by Anthony Nolan, including 63 predictions. Of the 63 predictions we hold for Anthony Nolan, 41 are linked to matches: 41 were recorded by us before kick-off. The statements are listed below; as of 7 November 2026.",
  "numbers": [
   {
    "label": "Statements",
    "value": "414",
    "anchor": "/methodology/#statement",
    "note": null
   },
   {
    "label": "Predictions",
    "value": "63",
    "anchor": "/methodology/#prediction",
    "note": null
   }
  ],
  "limitations": [
   "This page combines Anthony Nolan across 2 platforms. The record above counts each prediction once, even when the same pick (match, market and selection) appeared on more than one platform; each platform keeps its own total under “Where Anthony Nolan publishes”."
  ],
  "other_series": [],
  "return_over_time": [],
  "return_over_time_parts": {
   "live": null,
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record has recorded 414 statements by Anthony Nolan, including 63 predictions. Of the 63 predictions we hold for Anthony Nolan, 41 are linked to matches: 41 were recorded by us before kick-off. The statements are listed below; as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/anthony-nolan/",
   "data_as_of": "2026-11-07",
   "method_version": null
  },
  "origin": {
   "contract_version": "1",
   "predictions": 63,
   "under_review": 0,
   "no_match_linked": 22,
   "proven_predictions": 41,
   "proven_checked": 40,
   "proven_measured": 39,
   "proven_dates": 20,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 41,
     "checked": 40,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 39,
      "exact_hits": 3,
      "exact_rate": 7.7,
      "outcome_checked": 39,
      "outcome_hits": 15,
      "outcome_rate": 38.5,
      "baseline_matches": 24,
      "baseline_distinct_matches": 24,
      "outcome_hits_on_baseline": 8,
      "outcome_rate_on_baseline": 33.3,
      "favourite_hits": 8,
      "favourite_rate": 33.3,
      "price_basis": "our pre-match snapshot",
      "pending": 1,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": [
       "Outcome checked. No betting return is attributed to these score forecasts.",
       "3 of 39 score forecasts named the exact score (7.7%).",
       "The result implied by the named score was right in 8 of 24 matches; the market favourite was right in 8 of the same 24 matches.",
       "A pre-match market favourite is known for 24 of 39 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": 40,
      "priced": 0
     },
     "accuracy": null,
     "reviewed_after": {
      "predictions": 2,
      "right": 1,
      "wrong": 1,
      "other": 0
     }
    },
    {
     "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": [],
  "caption": "Recorded statements and predictions · as of 7 November 2026",
  "record_from": "2026-09-24",
  "record_to": "2026-11-07"
 },
 "recorded_picks": [
  {
   "record_id": "n-e24f491a061df5ab70574489",
   "url": "/authors/anthony-nolan/picks/5/#pick-n-e24f491a061df5ab70574489",
   "match": "Manchester United v Aston Villa",
   "match_url": "/football/matches/manchester-united-vs-aston-villa-2026-11-08/",
   "kickoff": "2026-11-08T16:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 35.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Manchester United 1-3 Aston Villa",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "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-06T23:06:00.000Z",
   "recorded_at": "2026-11-07T05:10:11.429Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e24f491a061df5ab70574489",
    "quote_text": "We say: Manchester United 1-3 Aston Villa",
    "fragment_from": 5774,
    "fragment_to": 5815,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "00115f0b9c390acfc7f8ba2b7a80b234304b336eccc592b35702a20e46efc198",
     "material_removed": false
    },
    "published_at": "2026-11-06T23:06:00.000Z",
    "detected_at": "2026-11-07T05:10:11.429Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0efac66d1287",
     "display_name": "Manchester United — Aston Villa",
     "competition_name": "Premier League",
     "starts_at": "2026-11-08T16:30:00.000Z",
     "url": "/football/matches/manchester-united-vs-aston-villa-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Manchester United 1-3 Aston Villa",
    "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": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T23:06:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T23:06:00.000Z",
     "detected_at": "2026-11-07T05:10:11.429Z",
     "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": "Manchester United 1-3 Aston Villa",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Manchester United 1-3 Aston Villa"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 16:30 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 16:30 UTC."
    },
    "settlements": [
     {
      "operation_id": "d68d1e158a6bd776d05f3574beb50dbfd4db08f6c1ac637ac12921e7fba65616",
      "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": "Aston Villa",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-07T05:37:50.022Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/man-utd/sack-race/preview/man-utd-vs-aston-villa-prediction-team-news-lineups_608638.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Manchester United 1-3 Aston Villa"
   }
  },
  {
   "record_id": "n-657bf45fdf9da7002ada21ce",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-657bf45fdf9da7002ada21ce",
   "match": "SC Paderborn 07 v Eintracht Frankfurt",
   "match_url": "/football/matches/sc-paderborn-07-vs-eintracht-frankfurt-2026-11-07/",
   "kickoff": "2026-11-07T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 33.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SC Paderborn 07 0-1 Eintracht Frankfurt",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T22:17:57.000Z",
   "recorded_at": "2026-11-06T05:10:00.351Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.1500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-657bf45fdf9da7002ada21ce",
    "quote_text": "We say: SC Paderborn 0-1 Eintracht Frankfurt",
    "fragment_from": 4471,
    "fragment_to": 4515,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/paderborn/preview/sc-paderborn-vs-frankfurt-prediction-team-news-lineups_608519.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "13d136b2ff844ebbdf5649619c51e84e3d6c05b889c2c5585294dc330c20bbb7",
     "material_removed": false
    },
    "published_at": "2026-11-05T22:17:57.000Z",
    "detected_at": "2026-11-06T05:10:00.351Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9d5a1b79a27f",
     "display_name": "SC Paderborn 07 — Eintracht Frankfurt",
     "competition_name": "Bundesliga",
     "starts_at": "2026-11-07T14:30:00.000Z",
     "url": "/football/matches/sc-paderborn-07-vs-eintracht-frankfurt-2026-11-07/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SC Paderborn 07 0-1 Eintracht Frankfurt",
    "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-05T22:17:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T22:17:57.000Z",
     "detected_at": "2026-11-06T05:10:00.351Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "SC Paderborn 07 0-1 Eintracht Frankfurt",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SC Paderborn 07 0-1 Eintracht Frankfurt"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was SC Paderborn 07 2-2 Eintracht Frankfurt."
    },
    "settlements": [
     {
      "operation_id": "45758743b96843b49dd09ab7bdc9cf1e8a676226ad180584f95a1728be154aea",
      "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": "Eintracht Frankfurt",
      "decimal_odds": "2.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T05:11:17.185Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/paderborn/preview/sc-paderborn-vs-frankfurt-prediction-team-news-lineups_608519.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Paderborn 07 0-1 Eintracht Frankfurt"
   }
  },
  {
   "record_id": "n-016345acbe3722275b4ea7d8",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-016345acbe3722275b4ea7d8",
   "match": "RB Leipzig v FC Augsburg",
   "match_url": "/football/matches/rb-leipzig-vs-fc-augsburg-2026-11-07/",
   "kickoff": "2026-11-07T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: RB Leipzig 3-0 FC Augsburg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-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-11-05T23:32:24.000Z",
   "recorded_at": "2026-11-06T00:10:13.236Z",
   "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.4600",
    "result": "Won",
    "points_hundredths": 4600,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-016345acbe3722275b4ea7d8",
    "quote_text": "We say: RB Leipzig 3-0 Augsburg",
    "fragment_from": 5069,
    "fragment_to": 5100,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/rb-leipzig/preview/rb-leipzig-vs-augsburg-prediction-team-news-lineups_608521.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "96f09628c7712c3e500303c1933b483e2143fa1ba1a39f086cd54e480e44e0bd",
     "material_removed": false
    },
    "published_at": "2026-11-05T23:32:24.000Z",
    "detected_at": "2026-11-06T00:10:13.236Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-33101de1421d",
     "display_name": "RB Leipzig — FC Augsburg",
     "competition_name": "Bundesliga",
     "starts_at": "2026-11-07T14:30:00.000Z",
     "url": "/football/matches/rb-leipzig-vs-fc-augsburg-2026-11-07/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "RB Leipzig 3-0 FC Augsburg",
    "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-05T23:32:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T23:32:24.000Z",
     "detected_at": "2026-11-06T00:10:13.236Z",
     "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": "RB Leipzig 3-0 FC Augsburg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: RB Leipzig 3-0 FC Augsburg"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was RB Leipzig 5-2 FC Augsburg."
    },
    "settlements": [
     {
      "operation_id": "1ac07071d4462db9bc001d9b302cf78aa5611f29356f9beafd4880c9b63b5edc",
      "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": "RB Leipzig",
      "decimal_odds": "1.4600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4600,
      "executed_at": "2026-11-06T00:51:19.607Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/rb-leipzig/preview/rb-leipzig-vs-augsburg-prediction-team-news-lineups_608521.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig 3-0 FC Augsburg"
   }
  },
  {
   "record_id": "n-8f99d59a8fcff8110fbcde3e",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-8f99d59a8fcff8110fbcde3e",
   "match": "Fenerbahçe v Liverpool",
   "match_url": "/football/matches/fenerbahce-vs-liverpool-2026-11-04/",
   "kickoff": "2026-11-04T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 41.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fenerbahçe 2-4 Liverpool",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-11-02T23:58:13.000Z",
   "recorded_at": "2026-11-03T00:10:15.832Z",
   "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.5263",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8f99d59a8fcff8110fbcde3e",
    "quote_text": "We say: Fenerbahce 2-4 Liverpool",
    "fragment_from": 4588,
    "fragment_to": 4620,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fenerbahce/champions-league/preview/fenerbahce-vs-liverpool-prediction-team-news-lineups_608293.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d02907e1dd98d0f63943dc977f3895a9f509b081d267616449c8293fcc6160e6",
     "material_removed": false
    },
    "published_at": "2026-11-02T23:58:13.000Z",
    "detected_at": "2026-11-03T00:10:15.832Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e11039d41c22",
     "display_name": "Fenerbahçe — Liverpool",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T17:45:00.000Z",
     "url": "/football/matches/fenerbahce-vs-liverpool-2026-11-04/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fenerbahçe 2-4 Liverpool",
    "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-02T23:58:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-02T23:58:13.000Z",
     "detected_at": "2026-11-03T00:10:15.832Z",
     "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": "Fenerbahçe 2-4 Liverpool",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-4",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fenerbahçe 2-4 Liverpool"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Fenerbahçe 3-2 Liverpool."
    },
    "settlements": [
     {
      "operation_id": "90d7e558a803c2434e1b9fc6f19e8779edc0e5fe70c3ab0f3163b04e42551216",
      "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": "Liverpool",
      "decimal_odds": "1.5263",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-03T03:20:05.854Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/fenerbahce/champions-league/preview/fenerbahce-vs-liverpool-prediction-team-news-lineups_608293.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fenerbahçe 2-4 Liverpool"
   }
  },
  {
   "record_id": "n-13f084c6a38e83cd63e3f6a5",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-13f084c6a38e83cd63e3f6a5",
   "match": "Bodø/Glimt v Lille",
   "match_url": "/football/matches/bodo-glimt-vs-lille-2026-11-03/",
   "kickoff": "2026-11-03T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bodø/Glimt 2-2 Lille",
   "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-11-01T23:59:10.000Z",
   "recorded_at": "2026-11-02T00:10:38.933Z",
   "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.8333",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-13f084c6a38e83cd63e3f6a5",
    "quote_text": "We say: Bodo/Glimt 2-2 Lille",
    "fragment_from": 4017,
    "fragment_to": 4045,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bodo-glimt/champions-league/preview/bodoglimt-vs-lille-prediction-team-news-lineups_608214.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a4bd935f99a24fd83dcd67f8d85300fdc51a98d3ec4a51125ed3edaee5e3b83b",
     "material_removed": false
    },
    "published_at": "2026-11-01T23:59:10.000Z",
    "detected_at": "2026-11-02T00:10:38.933Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-193ed1746086",
     "display_name": "Bodø/Glimt — Lille",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T20:00:00.000Z",
     "url": "/football/matches/bodo-glimt-vs-lille-2026-11-03/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bodø/Glimt 2-2 Lille",
    "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-01T23:59:10.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T23:59:10.000Z",
     "detected_at": "2026-11-02T00:10:38.933Z",
     "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": "Bodø/Glimt 2-2 Lille",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bodø/Glimt 2-2 Lille"
    },
    "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 Bodø/Glimt 0-0 Lille."
    },
    "settlements": [
     {
      "operation_id": "83b1bc24e29c1100b9c8500fe9ed1272fa1d18bf727ce692f1f77a78577df745",
      "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.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 30000,
      "executed_at": "2026-11-02T17:00:48.681Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/bodo-glimt/champions-league/preview/bodoglimt-vs-lille-prediction-team-news-lineups_608214.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bodø/Glimt 2-2 Lille"
   }
  },
  {
   "record_id": "n-651d8e0c45a8434ea95fa4cc",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-651d8e0c45a8434ea95fa4cc",
   "match": "1. FC Union Berlin v 1. FC Köln",
   "match_url": "/football/matches/1-fc-union-berlin-vs-1-fc-koln-2026-11-01/",
   "kickoff": "2026-11-01T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: 1. FC Union Berlin 1-1 1. FC Köln",
   "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-30T23:59:54.000Z",
   "recorded_at": "2026-10-31T00:11:46.122Z",
   "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.5300",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-651d8e0c45a8434ea95fa4cc",
    "quote_text": "We say: Union Berlin 1-1 FC Koln",
    "fragment_from": 4427,
    "fragment_to": 4459,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/union-berlin/preview/union-berlin-vs-fc-koln-prediction-team-news-lineups_608118.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3d48769d7b89cf3fc4eb4be1a8abd58af2940e7bd2f3d6aa4f88acf7ef930fcd",
     "material_removed": false
    },
    "published_at": "2026-10-30T23:59:54.000Z",
    "detected_at": "2026-10-31T00:11:46.122Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-bd350f450c46",
     "display_name": "1. FC Union Berlin — 1. FC Köln",
     "competition_name": "Bundesliga",
     "starts_at": "2026-11-01T14:30:00.000Z",
     "url": "/football/matches/1-fc-union-berlin-vs-1-fc-koln-2026-11-01/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "1. FC Union Berlin 1-1 1. FC Köln",
    "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-30T23:59:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T23:59:54.000Z",
     "detected_at": "2026-10-31T00:11:46.122Z",
     "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": "1. FC Union Berlin 1-1 1. FC Köln",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: 1. FC Union Berlin 1-1 1. FC Köln"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was 1. FC Union Berlin 1-1 1. FC Köln."
    },
    "settlements": [
     {
      "operation_id": "4d6cb83bab33b232c4d02191997f5de908d2d9c9462bdfc888066a5148901f04",
      "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.6000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 26000,
      "executed_at": "2026-10-31T13:34:22.417Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/union-berlin/preview/union-berlin-vs-fc-koln-prediction-team-news-lineups_608118.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "1. FC Union Berlin 1-1 1. FC Köln"
   }
  },
  {
   "record_id": "n-738ee74647f57a8624c06160",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-738ee74647f57a8624c06160",
   "match": "Borussia M'gladbach v SC Paderborn 07",
   "match_url": "/football/matches/borussia-m-gladbach-vs-sc-paderborn-07-2026-10-31/",
   "kickoff": "2026-10-31T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 32.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Borussia M'gladbach 2-1 SC Paderborn 07",
   "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-30T05:09:00.000Z",
   "recorded_at": "2026-10-30T06:12:30.812Z",
   "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.9750",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-738ee74647f57a8624c06160",
    "quote_text": "We say: Borussia Monchengladbach 2-1 SC Paderborn",
    "fragment_from": 4997,
    "fragment_to": 5046,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/borussia-monchengladbach/preview/borussia-mbach-vs-sc-paderborn-prediction-team-news-lineups_608020.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "765c180ed6ba16d468484aa056e32998de893cd766136bb11bd2be013b658d40",
     "material_removed": false
    },
    "published_at": "2026-10-30T05:09:00.000Z",
    "detected_at": "2026-10-30T06:12:30.812Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-941a5bb75f38",
     "display_name": "Borussia M'gladbach — SC Paderborn 07",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-31T14:30:00.000Z",
     "url": "/football/matches/borussia-m-gladbach-vs-sc-paderborn-07-2026-10-31/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Borussia M'gladbach 2-1 SC Paderborn 07",
    "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-30T05:09:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T05:09:00.000Z",
     "detected_at": "2026-10-30T06:12:30.812Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Borussia M'gladbach 2-1 SC Paderborn 07",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Borussia M'gladbach 2-1 SC Paderborn 07"
    },
    "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 Borussia M'gladbach 0-0 SC Paderborn 07."
    },
    "settlements": [
     {
      "operation_id": "467bbcdeac07274a1776445893d2a25a49db527eb7a7f6c5a1f27fefae032783",
      "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": "Borussia M'gladbach",
      "decimal_odds": "1.9750",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T08:39:14.251Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/borussia-monchengladbach/preview/borussia-mbach-vs-sc-paderborn-prediction-team-news-lineups_608020.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Borussia M'gladbach 2-1 SC Paderborn 07"
   }
  },
  {
   "record_id": "n-4a5ee2232e627142ae155031",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-4a5ee2232e627142ae155031",
   "match": "Bayer 04 Leverkusen v VfB Stuttgart",
   "match_url": "/football/matches/bayer-04-leverkusen-vs-vfb-stuttgart-2026-10-31/",
   "kickoff": "2026-10-31T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 34.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bayer 04 Leverkusen 3-1 VfB Stuttgart",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T23:00:37.000Z",
   "recorded_at": "2026-10-30T04:10:10.950Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4a5ee2232e627142ae155031",
    "quote_text": "We say: Bayer Leverkusen 3-1 Stuttgart",
    "fragment_from": 4826,
    "fragment_to": 4864,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c91d3fc761aea113e148128665609213aa29b747c48d1ed844c123d3e5185811",
     "material_removed": false
    },
    "published_at": "2026-10-29T23:00:37.000Z",
    "detected_at": "2026-10-30T04:10:10.950Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-13162f93c610",
     "display_name": "Bayer 04 Leverkusen — VfB Stuttgart",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-31T14:30:00.000Z",
     "url": "/football/matches/bayer-04-leverkusen-vs-vfb-stuttgart-2026-10-31/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bayer 04 Leverkusen 3-1 VfB Stuttgart",
    "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-29T23:00:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T23:00:37.000Z",
     "detected_at": "2026-10-30T04:10:10.950Z",
     "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": "Bayer 04 Leverkusen 3-1 VfB Stuttgart",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bayer 04 Leverkusen 3-1 VfB Stuttgart"
    },
    "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 Bayer 04 Leverkusen 2-4 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "9ec7f579aaa213fda7acb78f9acee81b20027ed274cc9d10738d1c39cd0bc5e2",
      "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": "Bayer 04 Leverkusen",
      "decimal_odds": "1.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T13:24:26.826Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/bayer-leverkusen/preview/b-leverkusen-vs-stuttgart-prediction-team-news-lineups_608021.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bayer 04 Leverkusen 3-1 VfB Stuttgart"
   }
  },
  {
   "record_id": "n-5ea3b639e00a505dbb69394d",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-5ea3b639e00a505dbb69394d",
   "match": "FC Augsburg v SC Freiburg",
   "match_url": "/football/matches/fc-augsburg-vs-sc-freiburg-2026-10-31/",
   "kickoff": "2026-10-31T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 34.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Augsburg 1-1 SC Freiburg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T03:35:00.000Z",
   "recorded_at": "2026-10-30T04:10:06.634Z",
   "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.1700",
    "result": "Won",
    "points_hundredths": 11700,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5ea3b639e00a505dbb69394d",
    "quote_text": "We say: Augsburg 1-1 Freiburg",
    "fragment_from": 4595,
    "fragment_to": 4624,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/augsburg/preview/augsburg-vs-freiburg-prediction-team-news-lineups_608019.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "70e4a647f36604866b795977dab8c9da36a9e495a7d9467448ebcc5dd8075634",
     "material_removed": false
    },
    "published_at": "2026-10-30T03:35:00.000Z",
    "detected_at": "2026-10-30T04:10:06.634Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3424cd07a380",
     "display_name": "FC Augsburg — SC Freiburg",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-31T14:30:00.000Z",
     "url": "/football/matches/fc-augsburg-vs-sc-freiburg-2026-10-31/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Augsburg 1-1 SC Freiburg",
    "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-30T03:35:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T03:35:00.000Z",
     "detected_at": "2026-10-30T04:10:06.634Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "FC Augsburg 1-1 SC Freiburg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Augsburg 1-1 SC Freiburg"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was FC Augsburg 1-2 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "704e522b2d0325e2e907535096b3f46c730a592e2daed98b4a828a14328a7053",
      "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.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T13:32:48.905Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/augsburg/preview/augsburg-vs-freiburg-prediction-team-news-lineups_608019.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Augsburg 1-1 SC Freiburg"
   }
  },
  {
   "record_id": "n-4aae894ad19343748112df40",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-4aae894ad19343748112df40",
   "match": "SSV Jeddeloh v Hertha Berlin",
   "match_url": "/football/matches/ssv-jeddeloh-vs-hertha-berlin-2026-10-28/",
   "kickoff": "2026-10-28T17:00:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 33.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SSV Jeddeloh 1-4 Hertha Berlin",
   "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-27T06:21:37.000Z",
   "recorded_at": "2026-10-27T07:10:07.821Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4aae894ad19343748112df40",
    "quote_text": "We say: Jeddeloh 1-4 Hertha Berlin",
    "fragment_from": 3974,
    "fragment_to": 4008,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/jeddeloh/dfb-pokal/preview/jeddeloh-vs-hertha-berlin-prediction-team-news-lineups_607771.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fce498c976ca98942d10b65f171fbe41761cb1f030fd1bc8648ced220209fd02",
     "material_removed": false
    },
    "published_at": "2026-10-27T06:21:37.000Z",
    "detected_at": "2026-10-27T07:10:07.821Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c69d7332c190",
     "display_name": "SSV Jeddeloh — Hertha Berlin",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-28T17:00:00.000Z",
     "url": "/football/matches/ssv-jeddeloh-vs-hertha-berlin-2026-10-28/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SSV Jeddeloh 1-4 Hertha Berlin",
    "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-27T06:21:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T06:21:37.000Z",
     "detected_at": "2026-10-27T07:10:07.821Z",
     "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": "SSV Jeddeloh 1-4 Hertha Berlin",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-4",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SSV Jeddeloh 1-4 Hertha Berlin"
    },
    "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 SSV Jeddeloh 0-2 Hertha Berlin."
    },
    "settlements": [
     {
      "operation_id": "9a414ac475123cd86d0ecd429a462538f0ca8fc6dba2113a7278c9980dd298fe",
      "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": "Hertha Berlin",
      "decimal_odds": "1.0430",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 430,
      "executed_at": "2026-10-28T01:04:35.866Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/jeddeloh/dfb-pokal/preview/jeddeloh-vs-hertha-berlin-prediction-team-news-lineups_607771.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SSV Jeddeloh 1-4 Hertha Berlin"
   }
  },
  {
   "record_id": "n-ce9e7cda26d3b19b9a1e7adb",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-ce9e7cda26d3b19b9a1e7adb",
   "match": "Dynamo Dresden v FC Schalke 04",
   "match_url": "/football/matches/dynamo-dresden-vs-fc-schalke-04-2026-10-28/",
   "kickoff": "2026-10-28T17:00:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 35.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Dynamo Dresden 1-3 FC Schalke 04",
   "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-27T04:33:00.000Z",
   "recorded_at": "2026-10-27T05:09:53.681Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ce9e7cda26d3b19b9a1e7adb",
    "quote_text": "We say: Dynamo Dresden 1-3 Schalke 04",
    "fragment_from": 4285,
    "fragment_to": 4322,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/dynamo-dresden/dfb-pokal/preview/dynamo-dresden-vs-schalke-prediction-team-news-lineups_607770.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cfb2cf9606cbdb37852d723a7157ddd7d34080bdc9aad39e0e46b020af9fe1d5",
     "material_removed": false
    },
    "published_at": "2026-10-27T04:33:00.000Z",
    "detected_at": "2026-10-27T05:09:53.681Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fe9a1d04d226",
     "display_name": "Dynamo Dresden — FC Schalke 04",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-28T17:00:00.000Z",
     "url": "/football/matches/dynamo-dresden-vs-fc-schalke-04-2026-10-28/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Dynamo Dresden 1-3 FC Schalke 04",
    "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-27T04:33:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T04:33:00.000Z",
     "detected_at": "2026-10-27T05:09:53.681Z",
     "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": "Dynamo Dresden 1-3 FC Schalke 04",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Dynamo Dresden 1-3 FC Schalke 04"
    },
    "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 Dynamo Dresden 2-0 FC Schalke 04."
    },
    "settlements": [
     {
      "operation_id": "43d9a354294ac7b2c82775e3f38d586ebe4c178f1b31dda16f8e925680fbf699",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "FC Schalke 04",
      "decimal_odds": "1.9050",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T01:00:44.105Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/dynamo-dresden/dfb-pokal/preview/dynamo-dresden-vs-schalke-prediction-team-news-lineups_607770.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Dynamo Dresden 1-3 FC Schalke 04"
   }
  },
  {
   "record_id": "n-5b218cd4892721087e288c3b",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-5b218cd4892721087e288c3b",
   "match": "SC Paderborn 07 v VfB Stuttgart",
   "match_url": "/football/matches/sc-paderborn-07-vs-vfb-stuttgart-2026-10-28/",
   "kickoff": "2026-10-28T17:00:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 36.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SC Paderborn 07 2-1 VfB Stuttgart",
   "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-27T03:32:08.000Z",
   "recorded_at": "2026-10-27T04:09:54.731Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5b218cd4892721087e288c3b",
    "quote_text": "We say: SC Paderborn 2-1 Stuttgart",
    "fragment_from": 4226,
    "fragment_to": 4260,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/paderborn/dfb-pokal/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_607772.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7b258f03f59424c399bb87e9fe0a450af2dc2748c5a2baedd18f8108f57072fc",
     "material_removed": false
    },
    "published_at": "2026-10-27T03:32:08.000Z",
    "detected_at": "2026-10-27T04:09:54.731Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-538c81a6429b",
     "display_name": "SC Paderborn 07 — VfB Stuttgart",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-28T17:00:00.000Z",
     "url": "/football/matches/sc-paderborn-07-vs-vfb-stuttgart-2026-10-28/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SC Paderborn 07 2-1 VfB Stuttgart",
    "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-27T03:32:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T03:32:08.000Z",
     "detected_at": "2026-10-27T04:09:54.731Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "SC Paderborn 07 2-1 VfB Stuttgart",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SC Paderborn 07 2-1 VfB Stuttgart"
    },
    "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 SC Paderborn 07 0-1 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "9f404d6c49113e9aed2b6f1334156bf41c8cfb9be1b71466e60da57b31298733",
      "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": "SC Paderborn 07",
      "decimal_odds": "5.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T01:00:43.624Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/paderborn/dfb-pokal/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_607772.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Paderborn 07 2-1 VfB Stuttgart"
   }
  },
  {
   "record_id": "n-6b02b34be4606054b19f5dee",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-6b02b34be4606054b19f5dee",
   "match": "SG Sonnenhof Grossaspach v FC Augsburg",
   "match_url": "/football/matches/sg-sonnenhof-grossaspach-vs-fc-augsburg-2026-10-27/",
   "kickoff": "2026-10-27T17:00:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 37.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SG Sonnenhof Grossaspach 1-3 FC Augsburg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T02:15:01.000Z",
   "recorded_at": "2026-10-26T03:10:05.705Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-6b02b34be4606054b19f5dee",
    "quote_text": "We say: Sonnenhof Grossaspach 1-3 Augsburg",
    "fragment_from": 4278,
    "fragment_to": 4320,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sonnenhof-grossaspach/dfb-pokal/preview/sonnenhof-grossaspach-vs-augsburg-prediction-team-news-lineups_607697.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f679a311bbb3728ee2e2d5647cbb07de6b34d9a6760ddc63bde960f92ec849d8",
     "material_removed": false
    },
    "published_at": "2026-10-26T02:15:01.000Z",
    "detected_at": "2026-10-26T03:10:05.705Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-df67c8fa027a",
     "display_name": "SG Sonnenhof Grossaspach — FC Augsburg",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-27T17:00:00.000Z",
     "url": "/football/matches/sg-sonnenhof-grossaspach-vs-fc-augsburg-2026-10-27/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SG Sonnenhof Grossaspach 1-3 FC Augsburg",
    "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-26T02:15:01.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T02:15:01.000Z",
     "detected_at": "2026-10-26T03:10:05.705Z",
     "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": "SG Sonnenhof Grossaspach 1-3 FC Augsburg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SG Sonnenhof Grossaspach 1-3 FC Augsburg"
    },
    "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 SG Sonnenhof Grossaspach 2-4 FC Augsburg."
    },
    "settlements": [
     {
      "operation_id": "503b51b44308f28603e45a38d248e3c73eda7a4aa5fe4d0066e85f566ddd2ac6",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "FC Augsburg",
      "decimal_odds": "1.3140",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3140,
      "executed_at": "2026-10-27T01:35:51.385Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/sonnenhof-grossaspach/dfb-pokal/preview/sonnenhof-grossaspach-vs-augsburg-prediction-team-news-lineups_607697.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SG Sonnenhof Grossaspach 1-3 FC Augsburg"
   }
  },
  {
   "record_id": "n-05bc4be9c1e1f4a30ce90521",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-05bc4be9c1e1f4a30ce90521",
   "match": "Hamburger SV v Eintracht Frankfurt",
   "match_url": "/football/matches/hamburger-sv-vs-eintracht-frankfurt-2026-10-27/",
   "kickoff": "2026-10-27T17:00:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 40.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Hamburger SV 2-1 Eintracht Frankfurt",
   "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-25T23:59:43.000Z",
   "recorded_at": "2026-10-26T00:10:02.810Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-05bc4be9c1e1f4a30ce90521",
    "quote_text": "We say: Hamburger SV 2-1 Eintracht Frankfurt",
    "fragment_from": 4297,
    "fragment_to": 4341,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/hamburger-sv/dfb-pokal/preview/hamburger-sv-vs-frankfurt-prediction-team-news-lineups_607696.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "67687e3509559c2782e0bde57db3f138df5dc165a1148526db81b03237c1e045",
     "material_removed": false
    },
    "published_at": "2026-10-25T23:59:43.000Z",
    "detected_at": "2026-10-26T00:10:02.810Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c8d2b7f213af",
     "display_name": "Hamburger SV — Eintracht Frankfurt",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-27T17:00:00.000Z",
     "url": "/football/matches/hamburger-sv-vs-eintracht-frankfurt-2026-10-27/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Hamburger SV 2-1 Eintracht Frankfurt",
    "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-25T23:59:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T23:59:43.000Z",
     "detected_at": "2026-10-26T00:10:02.810Z",
     "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": "Hamburger SV 2-1 Eintracht Frankfurt",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Hamburger SV 2-1 Eintracht Frankfurt"
    },
    "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 Hamburger SV 1-3 Eintracht Frankfurt."
    },
    "settlements": [
     {
      "operation_id": "20d8f12580027279130dc3cb96f09e89cd9dc2de318376de5df8f4933f6e6a98",
      "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": "Hamburger SV",
      "decimal_odds": "2.7500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-27T01:35:51.283Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/hamburger-sv/dfb-pokal/preview/hamburger-sv-vs-frankfurt-prediction-team-news-lineups_607696.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Hamburger SV 2-1 Eintracht Frankfurt"
   }
  },
  {
   "record_id": "n-5f79508c47ce4d24720a6765",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-5f79508c47ce4d24720a6765",
   "match": "Rot-Weiss Essen v RB Leipzig",
   "match_url": "/football/matches/rot-weiss-essen-vs-rb-leipzig-2026-10-27/",
   "kickoff": "2026-10-27T17:00:00.000Z",
   "competition": "Germany DFB Pokal",
   "lead_hours": 41.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Rot-Weiss Essen 1-3 RB Leipzig",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-25T22:42:33.000Z",
   "recorded_at": "2026-10-25T23:10:03.028Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5f79508c47ce4d24720a6765",
    "quote_text": "We say: Rot-Weiss Essen 1-3 RB Leipzig",
    "fragment_from": 4743,
    "fragment_to": 4781,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/rot-weiss-essen/dfb-pokal/preview/rwe-vs-rb-leipzig-prediction-team-news-lineups_607695.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c9a5102521e09050e75391b1bf5ae8d4cd4204bd73b048424c37bb9b571236c8",
     "material_removed": false
    },
    "published_at": "2026-10-25T22:42:33.000Z",
    "detected_at": "2026-10-25T23:10:03.028Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-46cabac201de",
     "display_name": "Rot-Weiss Essen — RB Leipzig",
     "competition_name": "Germany DFB Pokal",
     "starts_at": "2026-10-27T17:00:00.000Z",
     "url": "/football/matches/rot-weiss-essen-vs-rb-leipzig-2026-10-27/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Rot-Weiss Essen 1-3 RB Leipzig",
    "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-25T22:42:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T22:42:33.000Z",
     "detected_at": "2026-10-25T23:10:03.028Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Rot-Weiss Essen 1-3 RB Leipzig",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Rot-Weiss Essen 1-3 RB Leipzig"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Rot-Weiss Essen 1-2 RB Leipzig."
    },
    "settlements": [
     {
      "operation_id": "a2fb2837b914d061fb32bd9d58e4700cc047235d8c56e85a50acb038d98af7fc",
      "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": "RB Leipzig",
      "decimal_odds": "1.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2000,
      "executed_at": "2026-10-27T01:35:51.168Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/rot-weiss-essen/dfb-pokal/preview/rwe-vs-rb-leipzig-prediction-team-news-lineups_607695.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Rot-Weiss Essen 1-3 RB Leipzig"
   }
  },
  {
   "record_id": "n-5e7203c4444fd02f23ffdab0",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-5e7203c4444fd02f23ffdab0",
   "match": "Sunderland v Leeds United",
   "match_url": "/football/matches/sunderland-vs-leeds-united-2026-10-25/",
   "kickoff": "2026-10-25T16:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 41.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sunderland 1-1 Leeds United",
   "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-23T22:59:40.000Z",
   "recorded_at": "2026-10-23T23:10:02.125Z",
   "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.5000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5e7203c4444fd02f23ffdab0",
    "quote_text": "We say: Sunderland 1-1 Leeds United",
    "fragment_from": 4442,
    "fragment_to": 4477,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sunderland/preview/sunderland-vs-leeds-prediction-team-news-lineups_607537.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "88789ac8e116df60071adfc299bfd33f98967fb9079a75635e9c4ab21e1876eb",
     "material_removed": false
    },
    "published_at": "2026-10-23T22:59:40.000Z",
    "detected_at": "2026-10-23T23:10:02.125Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-185c5d58dacf",
     "display_name": "Sunderland — Leeds United",
     "competition_name": "Premier League",
     "starts_at": "2026-10-25T16:30:00.000Z",
     "url": "/football/matches/sunderland-vs-leeds-united-2026-10-25/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sunderland 1-1 Leeds 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-23T22:59:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T22:59:40.000Z",
     "detected_at": "2026-10-23T23:10:02.125Z",
     "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": "Sunderland 1-1 Leeds United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sunderland 1-1 Leeds United"
    },
    "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 Sunderland 0-0 Leeds United."
    },
    "settlements": [
     {
      "operation_id": "13f1f5028f1bda294bc173bb16efbfefd7d915b3fed9d5d46072b7e440f0fa05",
      "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.2400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 22400,
      "executed_at": "2026-10-24T09:32:22.432Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/sunderland/preview/sunderland-vs-leeds-prediction-team-news-lineups_607537.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sunderland 1-1 Leeds United"
   }
  },
  {
   "record_id": "n-7862e5f4c8f971a4276a9e3f",
   "url": "/authors/anthony-nolan/picks/4/#pick-n-7862e5f4c8f971a4276a9e3f",
   "match": "TSG Hoffenheim v Bayer 04 Leverkusen",
   "match_url": "/football/matches/tsg-hoffenheim-vs-bayer-04-leverkusen-2026-10-25/",
   "kickoff": "2026-10-25T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: TSG Hoffenheim 1-3 Bayer 04 Leverkusen",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T23:59:37.000Z",
   "recorded_at": "2026-10-24T00:10:11.563Z",
   "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.3000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7862e5f4c8f971a4276a9e3f",
    "quote_text": "We say: Hoffenheim 1-3 Bayer Leverkusen",
    "fragment_from": 4588,
    "fragment_to": 4627,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/hoffenheim/preview/hoffenheim-vs-b-leverkusen-prediction-team-news-lineups_607534.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c1aa50a354533f34cd8fc5815ca5378054e140984e3f9698018e2923d575f979",
     "material_removed": false
    },
    "published_at": "2026-10-23T23:59:37.000Z",
    "detected_at": "2026-10-24T00:10:11.563Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8166ca26dfcf",
     "display_name": "TSG Hoffenheim — Bayer 04 Leverkusen",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-25T14:30:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-bayer-04-leverkusen-2026-10-25/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "TSG Hoffenheim 1-3 Bayer 04 Leverkusen",
    "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-23T23:59:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T23:59:37.000Z",
     "detected_at": "2026-10-24T00:10:11.563Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "TSG Hoffenheim 1-3 Bayer 04 Leverkusen",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: TSG Hoffenheim 1-3 Bayer 04 Leverkusen"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
    },
    "settlements": [
     {
      "operation_id": "c769b7385e41172aac0e1690dba608aa1ff1f84431b4d15971547870cd972181",
      "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": "Bayer 04 Leverkusen",
      "decimal_odds": "2.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-25T14:11:12.595Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/hoffenheim/preview/hoffenheim-vs-b-leverkusen-prediction-team-news-lineups_607534.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "TSG Hoffenheim 1-3 Bayer 04 Leverkusen"
   }
  },
  {
   "record_id": "n-34f83829dc993fe227c0bfa9",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-34f83829dc993fe227c0bfa9",
   "match": "1. FC Köln v FC Schalke 04",
   "match_url": "/football/matches/1-fc-koln-vs-fc-schalke-04-2026-10-24/",
   "kickoff": "2026-10-24T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 37.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: 1. FC Köln 2-0 FC Schalke 04",
   "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-22T23:24:31.000Z",
   "recorded_at": "2026-10-23T00:10:09.959Z",
   "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.0500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-34f83829dc993fe227c0bfa9",
    "quote_text": "We say: FC Koln 2-0 Schalke 04",
    "fragment_from": 4222,
    "fragment_to": 4252,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fc-koln/preview/fc-koln-vs-schalke-prediction-team-news-lineups_607495.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f27fa578a8687ba0a6bb38c3054c3d61b31ab75f06f1300e1a72fa4eec93ad8f",
     "material_removed": false
    },
    "published_at": "2026-10-22T23:24:31.000Z",
    "detected_at": "2026-10-23T00:10:09.959Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-515bdf9b47d2",
     "display_name": "1. FC Köln — FC Schalke 04",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-24T13:30:00.000Z",
     "url": "/football/matches/1-fc-koln-vs-fc-schalke-04-2026-10-24/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "1. FC Köln 2-0 FC Schalke 04",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T23:24:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T23:24:31.000Z",
     "detected_at": "2026-10-23T00:10:09.959Z",
     "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": "1. FC Köln 2-0 FC Schalke 04",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: 1. FC Köln 2-0 FC Schalke 04"
    },
    "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 1. FC Köln 0-0 FC Schalke 04."
    },
    "settlements": [
     {
      "operation_id": "c736bd878eb06d4149326330539d7a9c04f2553ba61429222776b1356a609b37",
      "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": "1. FC Köln",
      "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-23T06:48:13.068Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/fc-koln/preview/fc-koln-vs-schalke-prediction-team-news-lineups_607495.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "1. FC Köln 2-0 FC Schalke 04"
   }
  },
  {
   "record_id": "n-70338ab7bcef07160136fd8e",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-70338ab7bcef07160136fd8e",
   "match": "1. FSV Mainz 05 v SV Werder Bremen",
   "match_url": "/football/matches/1-fsv-mainz-05-vs-sv-werder-bremen-2026-10-24/",
   "kickoff": "2026-10-24T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: 1. FSV Mainz 05 2-2 SV Werder Bremen",
   "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-10-22T22:31:32.000Z",
   "recorded_at": "2026-10-22T23:10:19.067Z",
   "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.7300",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-70338ab7bcef07160136fd8e",
    "quote_text": "We say: Mainz 05 2-2 Werder Bremen",
    "fragment_from": 4092,
    "fragment_to": 4126,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/mainz-05/preview/mainz-vs-werder-bremen-prediction-team-news-lineups_607494.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "df6b2ca1980c15024141016394af8b0330a26f29c7def0d652824a7e605fc7af",
     "material_removed": false
    },
    "published_at": "2026-10-22T22:31:32.000Z",
    "detected_at": "2026-10-22T23:10:19.067Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0ca36146af08",
     "display_name": "1. FSV Mainz 05 — SV Werder Bremen",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-24T13:30:00.000Z",
     "url": "/football/matches/1-fsv-mainz-05-vs-sv-werder-bremen-2026-10-24/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "1. FSV Mainz 05 2-2 SV Werder Bremen",
    "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-22T22:31:32.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T22:31:32.000Z",
     "detected_at": "2026-10-22T23:10:19.067Z",
     "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": "1. FSV Mainz 05 2-2 SV Werder Bremen",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: 1. FSV Mainz 05 2-2 SV Werder Bremen"
    },
    "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 1. FSV Mainz 05 2-3 SV Werder Bremen."
    },
    "settlements": [
     {
      "operation_id": "db4661040a9807cb361300b0dd77f8d1108b1c19403068eb57c715e000c79a3a",
      "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.1000",
      "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:46:56.136Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/mainz-05/preview/mainz-vs-werder-bremen-prediction-team-news-lineups_607494.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "1. FSV Mainz 05 2-2 SV Werder Bremen"
   }
  },
  {
   "record_id": "n-5ccfa69a38249d1e7553ea2b",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-5ccfa69a38249d1e7553ea2b",
   "match": "RB Leipzig v SV 07 Elversberg",
   "match_url": "/football/matches/rb-leipzig-vs-sv-07-elversberg-2026-10-24/",
   "kickoff": "2026-10-24T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 39.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: RB Leipzig 2-0 SV 07 Elversberg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-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-22T21:50:37.000Z",
   "recorded_at": "2026-10-22T22:10:26.163Z",
   "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.4400",
    "result": "Won",
    "points_hundredths": 4400,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5ccfa69a38249d1e7553ea2b",
    "quote_text": "We say: RB Leipzig 2-0 Elversberg",
    "fragment_from": 4356,
    "fragment_to": 4389,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/rb-leipzig/preview/rb-leipzig-vs-elversberg-prediction-team-news-lineups_607493.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "60c5f3501319aa88b6057062b7b2798cc9f8738c8ce1541c20d2100249a215b3",
     "material_removed": false
    },
    "published_at": "2026-10-22T21:50:37.000Z",
    "detected_at": "2026-10-22T22:10:26.163Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ef6c75e8191d",
     "display_name": "RB Leipzig — SV 07 Elversberg",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-24T13:30:00.000Z",
     "url": "/football/matches/rb-leipzig-vs-sv-07-elversberg-2026-10-24/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "RB Leipzig 2-0 SV 07 Elversberg",
    "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-22T21:50:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T21:50:37.000Z",
     "detected_at": "2026-10-22T22:10:26.163Z",
     "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": "RB Leipzig 2-0 SV 07 Elversberg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: RB Leipzig 2-0 SV 07 Elversberg"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was RB Leipzig 4-0 SV 07 Elversberg."
    },
    "settlements": [
     {
      "operation_id": "aa3d35467865be42d59074694c423ab177320a8dbfb2622d68bbc469d1c71df6",
      "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": "RB Leipzig",
      "decimal_odds": "1.4400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4400,
      "executed_at": "2026-10-24T00:47:23.930Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/rb-leipzig/preview/rb-leipzig-vs-elversberg-prediction-team-news-lineups_607493.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig 2-0 SV 07 Elversberg"
   }
  },
  {
   "record_id": "n-0353f40ade343b5975c63a65",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-0353f40ade343b5975c63a65",
   "match": "VfB Stuttgart v Borussia M'gladbach",
   "match_url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
   "kickoff": "2026-10-23T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 42.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: VfB Stuttgart 3-1 Borussia M'gladbach",
   "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-10-21T23:36:26.000Z",
   "recorded_at": "2026-10-22T00:09:56.973Z",
   "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.3636",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0353f40ade343b5975c63a65",
    "quote_text": "We say: Stuttgart 3-1 Borussia Monchengladbach",
    "fragment_from": 5136,
    "fragment_to": 5182,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/stuttgart/preview/stuttgart-vs-borussia-mbach-prediction-team-news-lineups_607392.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ac65c8bb5260f87e8e4600341c2ade26f7c41c6c4a4f9ef54f4d0cfb845573ab",
     "material_removed": false
    },
    "published_at": "2026-10-21T23:36:26.000Z",
    "detected_at": "2026-10-22T00:09:56.973Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aa74736a16f2",
     "display_name": "VfB Stuttgart — Borussia M'gladbach",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-23T18:30:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-borussia-m-gladbach-2026-10-23/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "VfB Stuttgart 3-1 Borussia M'gladbach",
    "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-21T23:36:26.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T23:36:26.000Z",
     "detected_at": "2026-10-22T00:09:56.973Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "VfB Stuttgart 3-1 Borussia M'gladbach",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: VfB Stuttgart 3-1 Borussia M'gladbach"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was VfB Stuttgart 2-3 Borussia M'gladbach."
    },
    "settlements": [
     {
      "operation_id": "8ebd13cc52b1155a59b761fb3c2870d9afe4d1092846f0b0d37a13740ab07250",
      "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": "VfB Stuttgart",
      "decimal_odds": "1.3636",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T05:53:25.677Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/stuttgart/preview/stuttgart-vs-borussia-mbach-prediction-team-news-lineups_607392.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "VfB Stuttgart 3-1 Borussia M'gladbach"
   }
  },
  {
   "record_id": "n-3ba6ef2ea44c2116ee42e4f0",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-3ba6ef2ea44c2116ee42e4f0",
   "match": "TSG Hoffenheim v Olympique Lyonnais",
   "match_url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 41.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: TSG Hoffenheim 2-3 Olympique Lyonnais",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T22:22:35.000Z",
   "recorded_at": "2026-10-21T01:09:58.276Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0000",
    "result": "Won",
    "points_hundredths": 10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3ba6ef2ea44c2116ee42e4f0",
    "quote_text": "We say: Hoffenheim 2-3 Lyon",
    "fragment_from": 4506,
    "fragment_to": 4533,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/hoffenheim/europa-league/preview/hoffenheim-vs-lyon-prediction-team-news-lineups_607326.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "07208b253d6f46b1a35d761271a99562a296d71cc15a4744e1ade16f8a0390ce",
     "material_removed": false
    },
    "published_at": "2026-10-20T22:22:35.000Z",
    "detected_at": "2026-10-21T01:09:58.276Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fb9f2443b067",
     "display_name": "TSG Hoffenheim — Olympique Lyonnais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-olympique-lyonnais-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "TSG Hoffenheim 2-3 Olympique Lyonnais",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T22:22:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T22:22:35.000Z",
     "detected_at": "2026-10-21T01:09:58.276Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "TSG Hoffenheim 2-3 Olympique Lyonnais",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: TSG Hoffenheim 2-3 Olympique Lyonnais"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was TSG Hoffenheim 3-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "f2e64e37ff07a771346778f9a0b1dd2b756894fb7976e68583a1fb5903c93a8c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique Lyonnais",
      "decimal_odds": "3.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-21T04:25:24.051Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/hoffenheim/europa-league/preview/hoffenheim-vs-lyon-prediction-team-news-lineups_607326.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "TSG Hoffenheim 2-3 Olympique Lyonnais"
   }
  },
  {
   "record_id": "n-9e11cc446ac70731738210e5",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-9e11cc446ac70731738210e5",
   "match": "Monaco v SC Freiburg",
   "match_url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monaco 2-2 SC Freiburg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T22:58:55.000Z",
   "recorded_at": "2026-10-20T23:10:13.279Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9e11cc446ac70731738210e5",
    "quote_text": "We say: Monaco 2-2 Freiburg",
    "fragment_from": 3826,
    "fragment_to": 3853,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/as-monaco/europa-conference-league/preview/monaco-vs-freiburg-prediction-team-news-lineups_607327.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a5795a206859a70f67bbee23f4793a8d06171c2cb017376abe8b5c4974979416",
     "material_removed": false
    },
    "published_at": "2026-10-20T22:58:55.000Z",
    "detected_at": "2026-10-20T23:10:13.279Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1215c796ece7",
     "display_name": "Monaco — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monaco 2-2 SC Freiburg",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T22:58:55.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T22:58:55.000Z",
     "detected_at": "2026-10-20T23:10:13.279Z",
     "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": "Monaco 2-2 SC Freiburg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monaco 2-2 SC Freiburg"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Monaco 3-0 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "6349205fbebf709f29c8edd403784ce6553af37f2a358485b5c20ddf3791bf6f",
      "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.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:02:25.339Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/as-monaco/europa-conference-league/preview/monaco-vs-freiburg-prediction-team-news-lineups_607327.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco 2-2 SC Freiburg"
   }
  },
  {
   "record_id": "n-37fa38269a8c5dc21df02449",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-37fa38269a8c5dc21df02449",
   "match": "VfB Stuttgart v Atlético Madrid",
   "match_url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
   "kickoff": "2026-10-20T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: VfB Stuttgart 1-2 Atlético Madrid",
   "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-18T22:59:09.000Z",
   "recorded_at": "2026-10-18T23:10:10.885Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-37fa38269a8c5dc21df02449",
    "quote_text": "We say: Stuttgart 1-2 Atletico Madrid",
    "fragment_from": 4662,
    "fragment_to": 4699,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/stuttgart/champions-league/preview/stuttgart-vs-atletico-prediction-team-news-lineups_607188.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6c53f2af697a42f8627ff00a7728a9a0581bc4b9712595f99a479fa845f22e6d",
     "material_removed": false
    },
    "published_at": "2026-10-18T22:59:09.000Z",
    "detected_at": "2026-10-18T23:10:10.885Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a03afa8d49aa",
     "display_name": "VfB Stuttgart — Atlético Madrid",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T19:00:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "VfB Stuttgart 1-2 Atlético Madrid",
    "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-18T22:59:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T22:59:09.000Z",
     "detected_at": "2026-10-18T23:10:10.885Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "VfB Stuttgart 1-2 Atlético Madrid",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: VfB Stuttgart 1-2 Atlético Madrid"
    },
    "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 VfB Stuttgart 1-1 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "3b9c4f96d2ca72a49e6f890d68a2c1e2308172bc5ff67cee851a3d04426e7258",
      "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": "Atlético Madrid",
      "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-21T00:40:06.952Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/stuttgart/champions-league/preview/stuttgart-vs-atletico-prediction-team-news-lineups_607188.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "VfB Stuttgart 1-2 Atlético Madrid"
   }
  },
  {
   "record_id": "n-2a8aa43a2c9c90190b490f37",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-2a8aa43a2c9c90190b490f37",
   "match": "Borussia M'gladbach v TSG Hoffenheim",
   "match_url": "/football/matches/borussia-m-gladbach-vs-tsg-hoffenheim-2026-10-18/",
   "kickoff": "2026-10-18T15:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 15.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Borussia M'gladbach 1-3 TSG Hoffenheim",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T23:05:00.000Z",
   "recorded_at": "2026-10-18T00:10:07.108Z",
   "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.0800",
    "result": "Won",
    "points_hundredths": 10800,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2a8aa43a2c9c90190b490f37",
    "quote_text": "We say: Borussia Monchengladbach 1-3 Hoffenheim",
    "fragment_from": 1822,
    "fragment_to": 1869,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/predictions-bundesliga/feature/freiburg-finally-toppled-by-leverkusen-sundays-bundesliga-predictions_607135.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b0768138ca7811f03b74b75ec4be820b3188aae4506def91fccfcdc869d57186",
     "material_removed": false
    },
    "published_at": "2026-10-17T23:05:00.000Z",
    "detected_at": "2026-10-18T00:10:07.108Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-8eef7fce6ad9",
     "display_name": "Borussia M'gladbach — TSG Hoffenheim",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-18T15:30:00.000Z",
     "url": "/football/matches/borussia-m-gladbach-vs-tsg-hoffenheim-2026-10-18/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Borussia M'gladbach 1-3 TSG Hoffenheim",
    "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-17T23:05:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T23:05:00.000Z",
     "detected_at": "2026-10-18T00:10:07.108Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Borussia M'gladbach 1-3 TSG Hoffenheim",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Borussia M'gladbach 1-3 TSG Hoffenheim"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Borussia M'gladbach 1-2 TSG Hoffenheim."
    },
    "settlements": [
     {
      "operation_id": "e614fd5b012e58101a9bf4d6d0dcf42d359a08697af29eaa9c84b7b93c6d83db",
      "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": "TSG Hoffenheim",
      "decimal_odds": "2.0800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10800,
      "executed_at": "2026-10-18T06:16:32.578Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     },
     {
      "operation_id": "8b0ecd39572f1dca165c4a28ab43e9ebec95671e6c413a8a31ab90c5d427f4fd",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Borussia M'gladbach 1-3 TSG Hoffenheim",
      "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": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/bayer-leverkusen/predictions-bundesliga/feature/freiburg-finally-toppled-by-leverkusen-sundays-bundesliga-predictions_607135.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Borussia M'gladbach 1-3 TSG Hoffenheim"
   }
  },
  {
   "record_id": "n-ecaf53fd1beb0273418dbd87",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-ecaf53fd1beb0273418dbd87",
   "match": "Bayer 04 Leverkusen v SC Freiburg",
   "match_url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
   "kickoff": "2026-10-18T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bayer 04 Leverkusen 2-1 SC Freiburg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-17T00:16:32.000Z",
   "recorded_at": "2026-10-17T01:10:00.591Z",
   "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.6803",
    "result": "Won",
    "points_hundredths": 6803,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ecaf53fd1beb0273418dbd87",
    "quote_text": "We say: Bayer Leverkusen 2-1 Freiburg",
    "fragment_from": 4771,
    "fragment_to": 4808,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bayer-leverkusen/bundesliga-title-race/preview/b-leverkusen-vs-freiburg-prediction-team-news-lineups_607094.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "37afcec2f634e69d687ccd5997303c293908642b96719b22d406f3216aaa7317",
     "material_removed": false
    },
    "published_at": "2026-10-17T00:16:32.000Z",
    "detected_at": "2026-10-17T01:10:00.591Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b238474e6f35",
     "display_name": "Bayer 04 Leverkusen — SC Freiburg",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-18T13:30:00.000Z",
     "url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bayer 04 Leverkusen 2-1 SC Freiburg",
    "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-17T00:16:32.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T00:16:32.000Z",
     "detected_at": "2026-10-17T01:10:00.591Z",
     "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": "Bayer 04 Leverkusen 2-1 SC Freiburg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bayer 04 Leverkusen 2-1 SC Freiburg"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Bayer 04 Leverkusen 2-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "9f8815a74891dae8f829c713fb528ab9e9fcdb8fe1df83369b615f4895f61807",
      "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": "Bayer 04 Leverkusen",
      "decimal_odds": "1.6803",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6803,
      "executed_at": "2026-10-18T02:50:31.950Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/bayer-leverkusen/bundesliga-title-race/preview/b-leverkusen-vs-freiburg-prediction-team-news-lineups_607094.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bayer 04 Leverkusen 2-1 SC Freiburg"
   }
  },
  {
   "record_id": "n-7ea42c935aa55f65c7500582",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-7ea42c935aa55f65c7500582",
   "match": "Leeds United v Manchester United",
   "match_url": "/football/matches/leeds-united-vs-manchester-united-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 34.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Leeds United 3-1 Manchester 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-16T22:04:57.000Z",
   "recorded_at": "2026-10-17T02:10:05.785Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7ea42c935aa55f65c7500582",
    "quote_text": "We say: Leeds United 3-1 Manchester United",
    "fragment_from": 5745,
    "fragment_to": 5787,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/leeds-united/preview/leeds-vs-man-utd-prediction-team-news-lineups_607083.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6f9ee390e062139aa3cf9eda853e611a13ab5d38f0b91e11ed8d27252bc0fe4c",
     "material_removed": false
    },
    "published_at": "2026-10-16T22:04:57.000Z",
    "detected_at": "2026-10-17T02:10:05.785Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6b067fc4fb1f",
     "display_name": "Leeds United — Manchester United",
     "competition_name": "Premier League",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/leeds-united-vs-manchester-united-2026-10-18/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Leeds United 3-1 Manchester 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-16T22:04:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T22:04:57.000Z",
     "detected_at": "2026-10-17T02:10:05.785Z",
     "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": "Leeds United 3-1 Manchester United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Leeds United 3-1 Manchester 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 Leeds United 1-1 Manchester United."
    },
    "settlements": [
     {
      "operation_id": "e59caf8d30be446758cdd6d01574d271b2d9e5e581147a460b794f67f6320a74",
      "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": "Leeds United",
      "decimal_odds": "2.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T05:50:21.656Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/leeds-united/preview/leeds-vs-man-utd-prediction-team-news-lineups_607083.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Leeds United 3-1 Manchester United"
   }
  },
  {
   "record_id": "n-27c7148a630579db2a9c7335",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-27c7148a630579db2a9c7335",
   "match": "FC Bayern München v RB Leipzig",
   "match_url": "/football/matches/fc-bayern-munchen-vs-rb-leipzig-2026-10-17/",
   "kickoff": "2026-10-17T16:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 42.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Bayern München 3-1 RB Leipzig",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "6-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-15T21:29:07.000Z",
   "recorded_at": "2026-10-15T22:09:59.114Z",
   "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.2000",
    "result": "Won",
    "points_hundredths": 2000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-27c7148a630579db2a9c7335",
    "quote_text": "We say: Bayern Munich 3-1 RB Leipzig",
    "fragment_from": 4280,
    "fragment_to": 4316,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bayern-munich/bundesliga-title-race/preview/bayern-vs-rb-leipzig-prediction-team-news-lineups_606996.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b48873b25f77300fc1753ad7dc491834bffc0e8bc2d65507a9396aaf32bdf854",
     "material_removed": false
    },
    "published_at": "2026-10-15T21:29:07.000Z",
    "detected_at": "2026-10-15T22:09:59.114Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8781399558a8",
     "display_name": "FC Bayern München — RB Leipzig",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-17T16:30:00.000Z",
     "url": "/football/matches/fc-bayern-munchen-vs-rb-leipzig-2026-10-17/",
     "scoreline": "6-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Bayern München 3-1 RB Leipzig",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T21:29:07.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T21:29:07.000Z",
     "detected_at": "2026-10-15T22:09:59.114Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "FC Bayern München 3-1 RB Leipzig",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Bayern München 3-1 RB Leipzig"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "6-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was FC Bayern München 6-1 RB Leipzig."
    },
    "settlements": [
     {
      "operation_id": "86f006e0e0a68e8352aec6e7e3e0db80ab2326c97a5b6f4ed168d61c331d2040",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "FC Bayern München",
      "decimal_odds": "1.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2000,
      "executed_at": "2026-10-15T22:16:05.082Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/bayern-munich/bundesliga-title-race/preview/bayern-vs-rb-leipzig-prediction-team-news-lineups_606996.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Bayern München 3-1 RB Leipzig"
   }
  },
  {
   "record_id": "n-dc6f1f702c59a2e1165345cc",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-dc6f1f702c59a2e1165345cc",
   "match": "1. FC Union Berlin v Borussia Dortmund",
   "match_url": "/football/matches/1-fc-union-berlin-vs-borussia-dortmund-2026-10-17/",
   "kickoff": "2026-10-17T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: 1. FC Union Berlin 1-3 Borussia Dortmund",
   "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-15T22:21:40.000Z",
   "recorded_at": "2026-10-15T23:09:53.273Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.5714",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-dc6f1f702c59a2e1165345cc",
    "quote_text": "We say: Union Berlin 1-3 Borussia Dortmund",
    "fragment_from": 4613,
    "fragment_to": 4655,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/union-berlin/bundesliga-title-race/preview/union-berlin-vs-dortmund-prediction-team-news-lineups_606997.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e73aded997df4ae8a2ea153e91a33627a96f2296d26c5d7473e192773bfe8a6d",
     "material_removed": false
    },
    "published_at": "2026-10-15T22:21:40.000Z",
    "detected_at": "2026-10-15T23:09:53.273Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f34b372eaab6",
     "display_name": "1. FC Union Berlin — Borussia Dortmund",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-17T13:30:00.000Z",
     "url": "/football/matches/1-fc-union-berlin-vs-borussia-dortmund-2026-10-17/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "1. FC Union Berlin 1-3 Borussia Dortmund",
    "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-15T22:21:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T22:21:40.000Z",
     "detected_at": "2026-10-15T23:09:53.273Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "1. FC Union Berlin 1-3 Borussia Dortmund",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: 1. FC Union Berlin 1-3 Borussia Dortmund"
    },
    "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 1. FC Union Berlin 0-0 Borussia Dortmund."
    },
    "settlements": [
     {
      "operation_id": "b3342bc1217a0e41fb0da626a8a010c9319b293749bb7830568749656383f0ff",
      "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": "Borussia Dortmund",
      "decimal_odds": "1.5714",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-15T23:32:27.641Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/union-berlin/bundesliga-title-race/preview/union-berlin-vs-dortmund-prediction-team-news-lineups_606997.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "1. FC Union Berlin 1-3 Borussia Dortmund"
   }
  },
  {
   "record_id": "n-c19d9e47392f158b9c67c19e",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-c19d9e47392f158b9c67c19e",
   "match": "TSG Hoffenheim v Beşiktaş",
   "match_url": "/football/matches/tsg-hoffenheim-vs-besiktas-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: TSG Hoffenheim 1-1 Beşiktaş",
   "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-10-13T22:59:29.000Z",
   "recorded_at": "2026-10-13T23:09:48.355Z",
   "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.9500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c19d9e47392f158b9c67c19e",
    "quote_text": "We say: Hoffenheim 1-1 Besiktas",
    "fragment_from": 3823,
    "fragment_to": 3854,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/hoffenheim/europa-league/preview/hoffenheim-vs-besiktas-prediction-team-news-lineups_606846.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a65d430fde33916c1b46e44add4c378e1a76eed3c7cb9e49f085d8ce9711c9fa",
     "material_removed": false
    },
    "published_at": "2026-10-13T22:59:29.000Z",
    "detected_at": "2026-10-13T23:09:48.355Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-468d3647cf0a",
     "display_name": "TSG Hoffenheim — Beşiktaş",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/tsg-hoffenheim-vs-besiktas-2026-10-15/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "TSG Hoffenheim 1-1 Beşiktaş",
    "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-13T22:59:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T22:59:29.000Z",
     "detected_at": "2026-10-13T23:09:48.355Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "TSG Hoffenheim 1-1 Beşiktaş",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: TSG Hoffenheim 1-1 Beşiktaş"
    },
    "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 TSG Hoffenheim 2-3 Beşiktaş."
    },
    "settlements": [
     {
      "operation_id": "69d28df83c6bb2eb28cf9869fedaea698e372f92f365cb06296ef64ffff24d3b",
      "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.9000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-13T23:17:46.206Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/hoffenheim/europa-league/preview/hoffenheim-vs-besiktas-prediction-team-news-lineups_606846.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "TSG Hoffenheim 1-1 Beşiktaş"
   }
  },
  {
   "record_id": "n-9a6373c087ca6ab406da35da",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-9a6373c087ca6ab406da35da",
   "match": "Lech Poznań v Bayer 04 Leverkusen",
   "match_url": "/football/matches/lech-poznan-vs-bayer-04-leverkusen-2026-10-15/",
   "kickoff": "2026-10-15T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 41.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lech Poznań 1-3 Bayer 04 Leverkusen",
   "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-13T22:23:21.000Z",
   "recorded_at": "2026-10-13T23:09:50.438Z",
   "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.6452",
    "result": "Won",
    "points_hundredths": 6452,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9a6373c087ca6ab406da35da",
    "quote_text": "We say: Lech Poznan 1-3 Bayer Leverkusen",
    "fragment_from": 4314,
    "fragment_to": 4354,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lech-poznan/europa-league/preview/lech-poznan-vs-b-leverkusen-prediction-team-news-lineups_606844.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "10ac670adab3f3f45d48f91cce0f9ae8cc0aa51acfbaad1287b01533b25cfa71",
     "material_removed": false
    },
    "published_at": "2026-10-13T22:23:21.000Z",
    "detected_at": "2026-10-13T23:09:50.438Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-314ffc54d9db",
     "display_name": "Lech Poznań — Bayer 04 Leverkusen",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T16:45:00.000Z",
     "url": "/football/matches/lech-poznan-vs-bayer-04-leverkusen-2026-10-15/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lech Poznań 1-3 Bayer 04 Leverkusen",
    "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-13T22:23:21.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T22:23:21.000Z",
     "detected_at": "2026-10-13T23:09:50.438Z",
     "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": "Lech Poznań 1-3 Bayer 04 Leverkusen",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lech Poznań 1-3 Bayer 04 Leverkusen"
    },
    "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 Lech Poznań 0-4 Bayer 04 Leverkusen."
    },
    "settlements": [
     {
      "operation_id": "5db89f30081d30e09a9ee8b37c0963fec1ad2dec21ee0d21dbbd3c5844fac854",
      "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": "Bayer 04 Leverkusen",
      "decimal_odds": "1.6452",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6452,
      "executed_at": "2026-10-13T23:17:43.357Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/lech-poznan/europa-league/preview/lech-poznan-vs-b-leverkusen-prediction-team-news-lineups_606844.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lech Poznań 1-3 Bayer 04 Leverkusen"
   }
  },
  {
   "record_id": "n-7b12a53ecd021004f7e3246e",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-7b12a53ecd021004f7e3246e",
   "match": "Atlético Madrid v Manchester United",
   "match_url": "/football/matches/atletico-madrid-vs-manchester-united-2026-10-13/",
   "kickoff": "2026-10-13T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Atlético Madrid 3-1 Manchester United",
   "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-11T22:20:34.000Z",
   "recorded_at": "2026-10-11T23:09:58.587Z",
   "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.9133",
    "result": "Won",
    "points_hundredths": 9133,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7b12a53ecd021004f7e3246e",
    "quote_text": "We say: Atletico Madrid 3-1 Manchester United",
    "fragment_from": 5095,
    "fragment_to": 5140,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/atletico-madrid/champions-league/preview/atletico-vs-man-utd-prediction-team-news-lineups_606700.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7c8c54adfffc40998f069225ca48f337d21825a5470cb79214c0ff3dc78a53ec",
     "material_removed": false
    },
    "published_at": "2026-10-11T22:20:34.000Z",
    "detected_at": "2026-10-11T23:09:58.587Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d9409c72d207",
     "display_name": "Atlético Madrid — Manchester United",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T19:00:00.000Z",
     "url": "/football/matches/atletico-madrid-vs-manchester-united-2026-10-13/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Atlético Madrid 3-1 Manchester 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-11T22:20:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T22:20:34.000Z",
     "detected_at": "2026-10-11T23:09:58.587Z",
     "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": "Atlético Madrid 3-1 Manchester United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Atlético Madrid 3-1 Manchester United"
    },
    "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 Atlético Madrid 2-0 Manchester United."
    },
    "settlements": [
     {
      "operation_id": "745d1e91be83ae52e2bb8905337afc98d8a9deb21b6aaea03afaf95da2426723",
      "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": "Atlético Madrid",
      "decimal_odds": "1.9133",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9133,
      "executed_at": "2026-10-12T01:36:11.026Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/atletico-madrid/champions-league/preview/atletico-vs-man-utd-prediction-team-news-lineups_606700.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atlético Madrid 3-1 Manchester United"
   }
  },
  {
   "record_id": "n-3799c7688057cbe91c701f2e",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-3799c7688057cbe91c701f2e",
   "match": "Sabah FK v SK Slavia Praha",
   "match_url": "/football/matches/sabah-fk-vs-sk-slavia-praha-2026-10-13/",
   "kickoff": "2026-10-13T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 35.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sabah FK 1-1 SK Slavia Praha",
   "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-12T02:33:04.000Z",
   "recorded_at": "2026-10-12T05:09:55.005Z",
   "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.0100",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3799c7688057cbe91c701f2e",
    "quote_text": "We say: Sabah 1-1 Slavia Prague",
    "fragment_from": 4691,
    "fragment_to": 4722,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sabah/champions-league/preview/sabah-vs-slavia-prague-prediction-team-news-lineups_606702.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cee7e1b8a9dd2e24cd20c970d3c82a9be220ffe2539eb9c75df2ce6f3435fbc4",
     "material_removed": false
    },
    "published_at": "2026-10-12T02:33:04.000Z",
    "detected_at": "2026-10-12T05:09:55.005Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f932f096e0dd",
     "display_name": "Sabah FK — SK Slavia Praha",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T16:45:00.000Z",
     "url": "/football/matches/sabah-fk-vs-sk-slavia-praha-2026-10-13/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sabah FK 1-1 SK Slavia Praha",
    "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-12T02:33:04.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T02:33:04.000Z",
     "detected_at": "2026-10-12T05:09:55.005Z",
     "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": "Sabah FK 1-1 SK Slavia Praha",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sabah FK 1-1 SK Slavia Praha"
    },
    "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 Sabah FK 2-0 SK Slavia Praha."
    },
    "settlements": [
     {
      "operation_id": "d3bbc08748638b9088ad71779dfba02ba859c9b2abf18c11f5d77772a1378c0f",
      "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-12T05:11:16.154Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/sabah/champions-league/preview/sabah-vs-slavia-prague-prediction-team-news-lineups_606702.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sabah FK 1-1 SK Slavia Praha"
   }
  },
  {
   "record_id": "n-9331c394494ae85e833b126e",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-9331c394494ae85e833b126e",
   "match": "SC Freiburg v FC Schalke 04",
   "match_url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
   "kickoff": "2026-10-11T15:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 15.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SC Freiburg 3-1 FC Schalke 04",
   "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-10T23:05:00.000Z",
   "recorded_at": "2026-10-11T00:09:48.329Z",
   "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.6135",
    "result": "Won",
    "points_hundredths": 6135,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9331c394494ae85e833b126e",
    "quote_text": "We say: Freiburg 3-1 Schalke 04",
    "fragment_from": 1690,
    "fragment_to": 1721,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fc-koln/predictions-bundesliga/feature/gladbach-back-in-the-rhine-derby-sundays-bundesliga-predictions_606643.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8795dde67d4d79d36282003a0be754bf266df107da8da710485738636756cabe",
     "material_removed": false
    },
    "published_at": "2026-10-10T23:05:00.000Z",
    "detected_at": "2026-10-11T00:09:48.329Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-40031903677a",
     "display_name": "SC Freiburg — FC Schalke 04",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-11T15:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SC Freiburg 3-1 FC Schalke 04",
    "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-10T23:05:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T23:05:00.000Z",
     "detected_at": "2026-10-11T00:09:48.329Z",
     "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": "SC Freiburg 3-1 FC Schalke 04",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SC Freiburg 3-1 FC Schalke 04"
    },
    "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 SC Freiburg 2-1 FC Schalke 04."
    },
    "settlements": [
     {
      "operation_id": "ed8392f97f5c5e817edc73eaaf089f08d497fa2d99cc81ced6cf0501caaea5d8",
      "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": "SC Freiburg",
      "decimal_odds": "1.6135",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6135,
      "executed_at": "2026-10-11T00:12:07.420Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/fc-koln/predictions-bundesliga/feature/gladbach-back-in-the-rhine-derby-sundays-bundesliga-predictions_606643.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Freiburg 3-1 FC Schalke 04"
   }
  },
  {
   "record_id": "n-3c97f94c8b36ae225f322213",
   "url": "/authors/anthony-nolan/picks/3/#pick-n-3c97f94c8b36ae225f322213",
   "match": "1. FC Köln v Borussia M'gladbach",
   "match_url": "/football/matches/1-fc-koln-vs-borussia-m-gladbach-2026-10-11/",
   "kickoff": "2026-10-11T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 13.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: 1. FC Köln 1-1 Borussia M'gladbach",
   "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-10T23:05:00.000Z",
   "recorded_at": "2026-10-11T00:09:48.329Z",
   "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.0350",
    "result": "Won",
    "points_hundredths": 10350,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3c97f94c8b36ae225f322213",
    "quote_text": "We say: FC Koln 1-1 Borussia Monchengladbach",
    "fragment_from": 950,
    "fragment_to": 994,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fc-koln/predictions-bundesliga/feature/gladbach-back-in-the-rhine-derby-sundays-bundesliga-predictions_606643.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8795dde67d4d79d36282003a0be754bf266df107da8da710485738636756cabe",
     "material_removed": false
    },
    "published_at": "2026-10-10T23:05:00.000Z",
    "detected_at": "2026-10-11T00:09:48.329Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7b7b0db78d19",
     "display_name": "1. FC Köln — Borussia M'gladbach",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-11T13:30:00.000Z",
     "url": "/football/matches/1-fc-koln-vs-borussia-m-gladbach-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "1. FC Köln 1-1 Borussia M'gladbach",
    "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-10T23:05:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T23:05:00.000Z",
     "detected_at": "2026-10-11T00:09:48.329Z",
     "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": "1. FC Köln 1-1 Borussia M'gladbach",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: 1. FC Köln 1-1 Borussia M'gladbach"
    },
    "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 1. FC Köln 2-1 Borussia M'gladbach."
    },
    "settlements": [
     {
      "operation_id": "4c3e48f63f8b96f5ef723b55b27e028a91e40ece22b3d5946cedb02d6e601fde",
      "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.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T00:12:05.193Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/fc-koln/predictions-bundesliga/feature/gladbach-back-in-the-rhine-derby-sundays-bundesliga-predictions_606643.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "1. FC Köln 1-1 Borussia M'gladbach"
   }
  },
  {
   "record_id": "n-63b564991095f53844de8e3a",
   "url": "/authors/anthony-nolan/picks/2/#pick-n-63b564991095f53844de8e3a",
   "match": "RB Leipzig v Eintracht Frankfurt",
   "match_url": "/football/matches/rb-leipzig-vs-eintracht-frankfurt-2026-10-10/",
   "kickoff": "2026-10-10T16:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 41.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: RB Leipzig 2-2 Eintracht Frankfurt",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "6-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-08T22:21:00.000Z",
   "recorded_at": "2026-10-08T23:05:43.070Z",
   "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.5495",
    "result": "Won",
    "points_hundredths": 5495,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-63b564991095f53844de8e3a",
    "quote_text": "We say: RB Leipzig 2-2 Eintracht Frankfurt",
    "fragment_from": 4325,
    "fragment_to": 4367,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/rb-leipzig/preview/rb-leipzig-vs-frankfurt-prediction-team-news-lineups_606492.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dc0a1f2f8b149701d6c99c75482e883a4c07316b27c92fad1dfc6bf68ac15c51",
     "material_removed": false
    },
    "published_at": "2026-10-08T22:21:00.000Z",
    "detected_at": "2026-10-08T23:05:43.070Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7f44e1174795",
     "display_name": "RB Leipzig — Eintracht Frankfurt",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-10T16:30:00.000Z",
     "url": "/football/matches/rb-leipzig-vs-eintracht-frankfurt-2026-10-10/",
     "scoreline": "6-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "RB Leipzig 2-2 Eintracht Frankfurt",
    "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-08T22:21:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T22:21:00.000Z",
     "detected_at": "2026-10-08T23:05:43.070Z",
     "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": "RB Leipzig 2-2 Eintracht Frankfurt",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: RB Leipzig 2-2 Eintracht Frankfurt"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "6-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was RB Leipzig 6-0 Eintracht Frankfurt."
    },
    "settlements": [
     {
      "operation_id": "75f3430eb98ae12f1cbf048362c4aa3a93e6f5315b5087b9fb107f6255603c1a",
      "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.7500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:35:07.576Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/rb-leipzig/preview/rb-leipzig-vs-frankfurt-prediction-team-news-lineups_606492.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig 2-2 Eintracht Frankfurt"
   }
  },
  {
   "record_id": "n-c9ebcdb96ecf825ba8da4656",
   "url": "/authors/anthony-nolan/picks/2/#pick-n-c9ebcdb96ecf825ba8da4656",
   "match": "SC Paderborn 07 v VfB Stuttgart",
   "match_url": "/football/matches/sc-paderborn-07-vs-vfb-stuttgart-2026-10-10/",
   "kickoff": "2026-10-10T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 37.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SC Paderborn 07 1-2 VfB Stuttgart",
   "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-08T23:23:44.000Z",
   "recorded_at": "2026-10-09T00:08:34.157Z",
   "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.5814",
    "result": "Won",
    "points_hundredths": 5814,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c9ebcdb96ecf825ba8da4656",
    "quote_text": "We say: SC Paderborn 1-2 Stuttgart",
    "fragment_from": 4398,
    "fragment_to": 4432,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/paderborn/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_606490.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "00523012de63e16edbc4cf6e625c3b1475a9c87a56728b475eaa556418e872f1",
     "material_removed": false
    },
    "published_at": "2026-10-08T23:23:44.000Z",
    "detected_at": "2026-10-09T00:08:34.157Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-17e4bb51bca5",
     "display_name": "SC Paderborn 07 — VfB Stuttgart",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-10T13:30:00.000Z",
     "url": "/football/matches/sc-paderborn-07-vs-vfb-stuttgart-2026-10-10/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SC Paderborn 07 1-2 VfB Stuttgart",
    "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-08T23:23:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T23:23:44.000Z",
     "detected_at": "2026-10-09T00:08:34.157Z",
     "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": "SC Paderborn 07 1-2 VfB Stuttgart",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SC Paderborn 07 1-2 VfB Stuttgart"
    },
    "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 SC Paderborn 07 0-2 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "e8b7df36897253b0210fa6b0d3c6ea2597db070f16b3195402f71c9ead32dbd2",
      "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": "VfB Stuttgart",
      "decimal_odds": "1.5814",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5814,
      "executed_at": "2026-10-10T23:35:07.557Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/paderborn/preview/sc-paderborn-vs-stuttgart-prediction-team-news-lineups_606490.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Paderborn 07 1-2 VfB Stuttgart"
   }
  },
  {
   "record_id": "n-84595e82543c912a7d2ad95a",
   "url": "/authors/anthony-nolan/picks/2/#pick-n-84595e82543c912a7d2ad95a",
   "match": "FC Augsburg v FC Bayern München",
   "match_url": "/football/matches/fc-augsburg-vs-fc-bayern-munchen-2026-10-10/",
   "kickoff": "2026-10-10T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 39.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Augsburg 1-3 FC Bayern München",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T21:31:12.000Z",
   "recorded_at": "2026-10-08T21:37:33.231Z",
   "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.1818",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole, section pages",
   "correction": null,
   "evidence": {
    "observation_id": "n-84595e82543c912a7d2ad95a",
    "quote_text": "We say: Augsburg 1-3 Bayern Munich",
    "fragment_from": 4420,
    "fragment_to": 4454,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://www.sportsmole.co.uk/football/augsburg/bundesliga-title-race/preview/augsburg-vs-bayern-prediction-team-news-lineups_606491.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b8af4103d55183ba8387aaf391a8958b606e034570fa981d1e7bdf758ba4a8f8",
     "material_removed": false
    },
    "published_at": "2026-10-08T21:31:12.000Z",
    "detected_at": "2026-10-08T21:37:33.231Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8e70f1379274",
     "display_name": "FC Augsburg — FC Bayern München",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-10T13:30:00.000Z",
     "url": "/football/matches/fc-augsburg-vs-fc-bayern-munchen-2026-10-10/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Augsburg 1-3 FC Bayern München",
    "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-08T21:31:12.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-08T21:31:12.000Z",
     "detected_at": "2026-10-08T21:37:33.231Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "FC Augsburg 1-3 FC Bayern München",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Augsburg 1-3 FC Bayern München"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was FC Augsburg 2-2 FC Bayern München."
    },
    "settlements": [
     {
      "operation_id": "8b90af5632dc00801d51fe54a41dccc643737030d35ae3cea19c66d1d8cfdb6d",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "FC Bayern München",
      "decimal_odds": "1.1818",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:35:07.636Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/augsburg/bundesliga-title-race/preview/augsburg-vs-bayern-prediction-team-news-lineups_606491.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Augsburg 1-3 FC Bayern München"
   }
  },
  {
   "record_id": "n-44414cc7d6d5008872d9a8e8",
   "url": "/authors/anthony-nolan/picks/2/#pick-n-44414cc7d6d5008872d9a8e8",
   "match": "Borussia Dortmund v SV Werder Bremen",
   "match_url": "/football/matches/borussia-dortmund-vs-sv-werder-bremen-2026-10-09/",
   "kickoff": "2026-10-09T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 41.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Borussia Dortmund 3-1 SV Werder Bremen",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-07T23:48:02.000Z",
   "recorded_at": "2026-10-08T01:09:00.508Z",
   "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.3317",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-44414cc7d6d5008872d9a8e8",
    "quote_text": "We say: Borussia Dortmund 3-1 Werder Bremen",
    "fragment_from": 4734,
    "fragment_to": 4777,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/borussia-dortmund/preview/dortmund-vs-werder-bremen-prediction-team-news-lineups_606409.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "743a8929c221b04cd6e5afe14d1d0e5ff3bc4dc128541bd6686810f52ed6a9db",
     "material_removed": false
    },
    "published_at": "2026-10-07T23:48:02.000Z",
    "detected_at": "2026-10-08T01:09:00.508Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-bc1b20d37a35",
     "display_name": "Borussia Dortmund — SV Werder Bremen",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-09T18:30:00.000Z",
     "url": "/football/matches/borussia-dortmund-vs-sv-werder-bremen-2026-10-09/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Borussia Dortmund 3-1 SV Werder Bremen",
    "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-07T23:48:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T23:48:02.000Z",
     "detected_at": "2026-10-08T01:09:00.508Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Borussia Dortmund 3-1 SV Werder Bremen",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Borussia Dortmund 3-1 SV Werder Bremen"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Borussia Dortmund 2-2 SV Werder Bremen."
    },
    "settlements": [
     {
      "operation_id": "9ccb47c76a0b2ca0efaf8db49d444eac76356fe1d298482bcb7f438f7a68bbb3",
      "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": "Borussia Dortmund",
      "decimal_odds": "1.3333",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-08T11:49:51.250Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/borussia-dortmund/preview/dortmund-vs-werder-bremen-prediction-team-news-lineups_606409.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Borussia Dortmund 3-1 SV Werder Bremen"
   }
  },
  {
   "record_id": "n-0a1bd5710233375792569a51",
   "url": "/authors/anthony-nolan/picks/2/#pick-n-0a1bd5710233375792569a51",
   "match": "Scotland v Slovenia",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 43.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Scotland 1-1 Slovenia",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-04T22:59:28.000Z",
   "recorded_at": "2026-10-04T23:04:20.608Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0a1bd5710233375792569a51",
    "quote_text": "We say: Scotland 1-1 Slovenia",
    "fragment_from": 3837,
    "fragment_to": 3866,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/scotland/uefa-nations-league/preview/scotland-vs-slovenia-prediction-team-news-lineups_606231.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1d0d34638cd8b75aab6366bb7d0b261b90883faa6b3a58f543a16bc0aac5a383",
     "material_removed": false
    },
    "published_at": "2026-10-04T22:59:28.000Z",
    "detected_at": "2026-10-04T23:04:20.608Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-2da290c0b380",
     "display_name": "Scotland — Slovenia",
     "competition_name": "UEFA Nations League",
     "starts_at": "2026-10-06T18:45:00.000Z",
     "url": null,
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Scotland 1-1 Slovenia",
    "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-04T22:59:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T22:59:28.000Z",
     "detected_at": "2026-10-04T23:04:20.608Z",
     "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": "Scotland 1-1 Slovenia",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Scotland 1-1 Slovenia"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Scotland 1-2 Slovenia."
    },
    "settlements": [
     {
      "operation_id": "69153f30397e62459b43340168eb2915c8c0b8642dd9681ebc23834336f1c455",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/scotland/uefa-nations-league/preview/scotland-vs-slovenia-prediction-team-news-lineups_606231.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Scotland 1-1 Slovenia"
   }
  },
  {
   "record_id": "n-4261bb9d0cdbb7dda44b11d8",
   "url": "/authors/anthony-nolan/picks/2/#pick-n-4261bb9d0cdbb7dda44b11d8",
   "match": "Switzerland v North Macedonia",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Switzerland 3-0 North Macedonia",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-04T21:53:49.000Z",
   "recorded_at": "2026-10-04T22:07:17.774Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4261bb9d0cdbb7dda44b11d8",
    "quote_text": "We say: Switzerland 3-0 North Macedonia",
    "fragment_from": 4035,
    "fragment_to": 4074,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/switzerland/uefa-nations-league/preview/switzerland-vs-n-macedonia-prediction-team-news-lineups_606230.html",
     "display_name": null,
     "speaker": "Anthony Nolan",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3c80fed524cb5ee6d98bc336ab74f98e4396737fbbef702f970c32aa471a8bfa",
     "material_removed": false
    },
    "published_at": "2026-10-04T21:53:49.000Z",
    "detected_at": "2026-10-04T22:07:17.774Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-ae8b8846a0cf",
     "display_name": "Switzerland — North Macedonia",
     "competition_name": "UEFA Nations League",
     "starts_at": "2026-10-06T18:45:00.000Z",
     "url": null,
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Switzerland 3-0 North Macedonia",
    "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-04T21:53:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T21:53:49.000Z",
     "detected_at": "2026-10-04T22:07:17.774Z",
     "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": "Switzerland 3-0 North Macedonia",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Switzerland 3-0 North Macedonia"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Switzerland 3-0 North Macedonia."
    },
    "settlements": [
     {
      "operation_id": "e17dc88463589af2da73d8a5832fd8a2c10e539c0d6b6a1ce52887351fd880f9",
      "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": "Switzerland",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Anthony Nolan",
     "publisher": "Sports Mole",
     "forecaster": "Anthony Nolan",
     "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/switzerland/uefa-nations-league/preview/switzerland-vs-n-macedonia-prediction-team-news-lineups_606230.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Switzerland 3-0 North Macedonia"
   }
  },
  {
   "record_id": "n-ccedd9b99f73b547a9f81278",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Hoffenheim 2-0 Schalke 04",
   "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-07T03:51:43.000Z",
   "recorded_at": "2026-11-07T04:10:37.267Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-4ec9ba981c4db93aa812897f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Freiburg 2-1 Union Berlin",
   "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-07T02:50:55.000Z",
   "recorded_at": "2026-11-07T03:10:43.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,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-6cb55b6def94a574d1149f4c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Luton Town 3-1 Forest Green 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-11-06T05:05:00.000Z",
   "recorded_at": "2026-11-06T06:10:04.748Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-724a54d03693bdca403e7e69",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Mansfield Town 2-1 Macclesfield 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-06T03:46:45.000Z",
   "recorded_at": "2026-11-06T04:10:56.999Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-3d062a7de5f222b29b808b1d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Hapoel Be'er Sheva 1-2 OFI Crete",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-03T23:59:02.000Z",
   "recorded_at": "2026-11-04T00:11:26.167Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-61b9fb64afdc30e89cf43b07",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Bayer Leverkusen 3-1 Nuremberg",
   "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-27T05:20:00.000Z",
   "recorded_at": "2026-10-27T06:09:53.682Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-b7e8606ada5acb8e1f1f1873",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Werder Bremen 3-1 SC Paderborn",
   "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-15T22:59:57.000Z",
   "recorded_at": "2026-10-15T23:09:52.420Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-04656a0186897f3d78e9d8c5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: LASK Linz 1-3 Liverpool",
   "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-12T22:57:46.000Z",
   "recorded_at": "2026-10-12T23:09:57.079Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-f68e0af6b545ee9771b91a0f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: FC Koln 1-1 Borussia Monchengladbach",
   "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-09T22:59:31.000Z",
   "recorded_at": "2026-10-10T02:04:32.819Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-a3787778525548ba8d660d9d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Northern Ireland 2-0 Georgia",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-04T02:59:11.000Z",
   "recorded_at": "2026-10-04T03:02:56.976Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-a598378fc07aa99544bc3388",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Ukraine 0-1 Hungary",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-04T01:53:33.000Z",
   "recorded_at": "2026-10-04T02:05:37.795Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-059ca27ed21e876b825233cf",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Iceland 2-1 Bulgaria",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T01:19:31.000Z",
   "recorded_at": "2026-10-02T02:03:46.942Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-80ad01eaf78d7542d1197686",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Faroe Islands 1-1 Slovakia",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T00:56:39.000Z",
   "recorded_at": "2026-10-01T01:05:25.367Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-afe9b495eeab60359b76f97d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Kazakhstan 2-1 Moldova",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-30T22:44:19.000Z",
   "recorded_at": "2026-09-30T23:06:39.481Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-8e0a5d76845641c18b849455",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: San Marino 0-3 Albania",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T23:00:33.000Z",
   "recorded_at": "2026-09-27T23:15:24.428Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, section pages",
   "correction": null
  },
  {
   "record_id": "n-56b2477e4a8ee7a6a50f0dbc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Finland 2-1 Belarus",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T22:27:43.000Z",
   "recorded_at": "2026-09-27T22:38:03.846Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, section pages",
   "correction": null
  },
  {
   "record_id": "n-a750f9cc2df84f68be1ba8c3",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "their attacking quality - even in the absence of Mbappe - may see them secure a narrow win.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-26T22:05:01.000Z",
   "recorded_at": "2026-09-26T23:18:20.407Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, section pages",
   "correction": null
  },
  {
   "record_id": "n-4221f0c79fba3414fe00894f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Belgium 1-2 France",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-26T22:05:01.000Z",
   "recorded_at": "2026-09-26T23:18:20.407Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, section pages",
   "correction": null
  },
  {
   "record_id": "n-28e6b375d99933e5646b5369",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Curacao 3-1 Nicaragua",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-25T22:59:14.000Z",
   "recorded_at": "2026-09-25T23:07:14.026Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-b75089382d4da3f7ba01d9da",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: San Marino 0-3 Finland",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-24T23:11:29.000Z",
   "recorded_at": "2026-09-25T00:30:45.792Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, section pages",
   "correction": null
  },
  {
   "record_id": "n-f592af60882e77619945762d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Faroe Islands 2-1 Kazakhstan",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-24T22:27:52.000Z",
   "recorded_at": "2026-09-25T00:30:45.840Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, section pages",
   "correction": null
  },
  {
   "record_id": "n-898e702a2fdcb5c6aafb8a91",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Sweden 3-1 Romania",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-23T22:26:00.000Z",
   "recorded_at": "2026-09-24T19:35:58.889Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, section pages",
   "correction": null
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 41,
  "before_kickoff": 41,
  "after_kickoff": 0,
  "at_least_2h": 41,
  "share_2h_plus": 100.0,
  "median_hours": 38.3,
  "min_hours": 13.3,
  "max_hours": 44.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": 30,
  "settled_picks_all": 38,
  "excluded": {
   "market_without_favourite": 0,
   "no_recorded_line": 8,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 300000,
  "author_net_hundredths": -45463,
  "favourite_net_hundredths": -76318,
  "difference_hundredths": 30855,
  "author_return_percent": -15.15,
  "favourite_return_percent": -25.44,
  "author_hit_rate": 40.0,
  "favourite_hit_rate": 43.3,
  "picked_favourite_share": 66.7,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 30,
    "staked_hundredths": 300000,
    "author_net_hundredths": -45463,
    "favourite_net_hundredths": -76318,
    "author_hits": 12,
    "favourite_hits": 13,
    "picked_favourite": 20,
    "author_return_percent": -15.15,
    "favourite_return_percent": -25.44
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-09T18:30:00.000Z",
    "author_cumulative_hundredths": -10000,
    "favourite_cumulative_hundredths": -10000
   },
   {
    "kickoff": "2026-10-10T13:30:00.000Z",
    "author_cumulative_hundredths": -20000,
    "favourite_cumulative_hundredths": -20000
   },
   {
    "kickoff": "2026-10-10T13:30:00.000Z",
    "author_cumulative_hundredths": -14186,
    "favourite_cumulative_hundredths": -14186
   },
   {
    "kickoff": "2026-10-10T16:30:00.000Z",
    "author_cumulative_hundredths": -24186,
    "favourite_cumulative_hundredths": -8691
   },
   {
    "kickoff": "2026-10-11T13:30:00.000Z",
    "author_cumulative_hundredths": -34186,
    "favourite_cumulative_hundredths": 1659
   },
   {
    "kickoff": "2026-10-11T15:30:00.000Z",
    "author_cumulative_hundredths": -28051,
    "favourite_cumulative_hundredths": 7794
   },
   {
    "kickoff": "2026-10-13T16:45:00.000Z",
    "author_cumulative_hundredths": -38051,
    "favourite_cumulative_hundredths": -2206
   },
   {
    "kickoff": "2026-10-13T19:00:00.000Z",
    "author_cumulative_hundredths": -28918,
    "favourite_cumulative_hundredths": 6927
   },
   {
    "kickoff": "2026-10-15T16:45:00.000Z",
    "author_cumulative_hundredths": -22466,
    "favourite_cumulative_hundredths": 13379
   },
   {
    "kickoff": "2026-10-15T19:00:00.000Z",
    "author_cumulative_hundredths": -32466,
    "favourite_cumulative_hundredths": 3379
   },
   {
    "kickoff": "2026-10-17T13:30:00.000Z",
    "author_cumulative_hundredths": -42466,
    "favourite_cumulative_hundredths": -6621
   },
   {
    "kickoff": "2026-10-17T16:30:00.000Z",
    "author_cumulative_hundredths": -40466,
    "favourite_cumulative_hundredths": -4621
   },
   {
    "kickoff": "2026-10-18T13:00:00.000Z",
    "author_cumulative_hundredths": -50466,
    "favourite_cumulative_hundredths": -14621
   },
   {
    "kickoff": "2026-10-18T13:30:00.000Z",
    "author_cumulative_hundredths": -43663,
    "favourite_cumulative_hundredths": -7818
   },
   {
    "kickoff": "2026-10-18T15:30:00.000Z",
    "author_cumulative_hundredths": -32863,
    "favourite_cumulative_hundredths": 2982
   },
   {
    "kickoff": "2026-10-20T19:00:00.000Z",
    "author_cumulative_hundredths": -42863,
    "favourite_cumulative_hundredths": -7018
   },
   {
    "kickoff": "2026-10-22T19:00:00.000Z",
    "author_cumulative_hundredths": -52863,
    "favourite_cumulative_hundredths": 2982
   },
   {
    "kickoff": "2026-10-23T18:30:00.000Z",
    "author_cumulative_hundredths": -62863,
    "favourite_cumulative_hundredths": -7018
   },
   {
    "kickoff": "2026-10-24T13:30:00.000Z",
    "author_cumulative_hundredths": -72863,
    "favourite_cumulative_hundredths": -17018
   },
   {
    "kickoff": "2026-10-24T13:30:00.000Z",
    "author_cumulative_hundredths": -68463,
    "favourite_cumulative_hundredths": -12618
   },
   {
    "kickoff": "2026-10-24T13:30:00.000Z",
    "author_cumulative_hundredths": -78463,
    "favourite_cumulative_hundredths": -22618
   },
   {
    "kickoff": "2026-10-25T14:30:00.000Z",
    "author_cumulative_hundredths": -88463,
    "favourite_cumulative_hundredths": -32618
   },
   {
    "kickoff": "2026-10-25T16:30:00.000Z",
    "author_cumulative_hundredths": -66063,
    "favourite_cumulative_hundredths": -42618
   },
   {
    "kickoff": "2026-10-31T14:30:00.000Z",
    "author_cumulative_hundredths": -76063,
    "favourite_cumulative_hundredths": -30918
   },
   {
    "kickoff": "2026-10-31T14:30:00.000Z",
    "author_cumulative_hundredths": -86063,
    "favourite_cumulative_hundredths": -40918
   },
   {
    "kickoff": "2026-11-01T14:30:00.000Z",
    "author_cumulative_hundredths": -60063,
    "favourite_cumulative_hundredths": -50918
   },
   {
    "kickoff": "2026-11-03T20:00:00.000Z",
    "author_cumulative_hundredths": -30063,
    "favourite_cumulative_hundredths": -60918
   },
   {
    "kickoff": "2026-11-04T17:45:00.000Z",
    "author_cumulative_hundredths": -40063,
    "favourite_cumulative_hundredths": -70918
   },
   {
    "kickoff": "2026-11-07T14:30:00.000Z",
    "author_cumulative_hundredths": -35463,
    "favourite_cumulative_hundredths": -66318
   },
   {
    "kickoff": "2026-11-07T14:30:00.000Z",
    "author_cumulative_hundredths": -45463,
    "favourite_cumulative_hundredths": -76318
   }
  ],
  "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": 63,
  "pages": 5,
  "page_urls": [
   "/authors/anthony-nolan/",
   "/authors/anthony-nolan/picks/2/",
   "/authors/anthony-nolan/picks/3/",
   "/authors/anthony-nolan/picks/4/",
   "/authors/anthony-nolan/picks/5/"
  ],
  "groups": {
   "settled": 0,
   "pending": 0,
   "excluded": 63
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/anthony-nolan/",
  "current": false
 },
 "title_tag": "Anthony Nolan Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-0d19eef6ec81aa8719847920",
  "type_code": "individual",
  "name_shown": "Anthony Nolan",
  "main_entity": "e-0d19eef6ec81aa8719847920",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-0d19eef6ec81aa8719847920",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Anthony Nolan",
    "url": "/sources/sports-mole/",
    "summary": {
     "statements": 353,
     "predictions": 55,
     "settled_picks": 0,
     "headline_kind": null,
     "return_percent": null,
     "headline_part": null,
     "period_from": "2026-09-25",
     "period_to": "2026-11-07"
    }
   },
   {
    "entity_ref": "e-ca4cad66a455c6bf3a615057",
    "medium": "Sports Mole",
    "channel": "section pages",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Anthony Nolan",
    "url": null,
    "summary": {
     "statements": 61,
     "predictions": 9,
     "settled_picks": 0,
     "headline_kind": null,
     "return_percent": null,
     "headline_part": null,
     "period_from": "2026-09-24",
     "period_to": "2026-11-05"
    }
   }
  ],
  "previously": [],
  "trust_tier": "tracked"
 },
 "data_revision": null,
 "number_changes": [],
 "author_card": {
  "body": "Record tracked by Forecast Record since 24 September 2026 · 63 predictions · last change 7 November 2026",
  "url": "https://forecastrecord.com/authors/anthony-nolan/",
  "s": "2026-09-24",
  "prediction_count": 63,
  "refreshed_at": "2026-11-07",
  "html": "<a href=\"https://forecastrecord.com/authors/anthony-nolan/\">Record tracked by Forecast Record since 24 September 2026 · 63 predictions · last change 7 November 2026</a>"
 },
 "trust": {
  "tier": "tracked",
  "in_words": "Tracked",
  "settled_count": 40,
  "days": 33,
  "weeks": 5,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 3,
  "first_settled_on": "2026-10-06",
  "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-0d19eef6ec81aa8719847920",
 "source_revision": 142,
 "related": [
  {
   "url": "/cards/e-0d19eef6ec81aa8719847920-bank/",
   "name": "Bankroll card — Anthony Nolan",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/anthony-nolan/",
   "name": "Your titles on Forecast Record: Anthony Nolan",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 63,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 63,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 40,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked",
   "entity": "e-0d19eef6ec81aa8719847920",
   "value": 40,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
