{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/saikat-mandal/",
 "canonical": "/authors/saikat-mandal/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Saikat Mandal: Football Prediction Record",
 "description": "Verified record: 57 settled picks by Saikat Mandal recorded before kick-off across 24 matches, 10 Oct 2026 – 25 Oct 2026.",
 "first_paragraph": {
  "body": "Forecast Record recorded 57 settled live picks by Saikat Mandal before kick-off across 24 matches between 10 and 25 October 2026. At our recorded market prices these picks returned +32.5% on the total staked. Of the 162 predictions we hold for Saikat Mandal, 103 are linked to matches: 103 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "+32.5%",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "outside_core",
 "indexing_threshold": {
  "settled_count": 86,
  "date_count": 17,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T18:17:02.738Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "9b982a55f447350fe476329dbea22928f08b3762c6515fceebecde5f21f4197c",
 "dependency_group": "author:e-ead51241226b1f2185df2120",
 "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/saikat-mandal/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/saikat-mandal/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-ead51241226b1f2185df2120",
  "public_name": "Saikat Mandal",
  "tracker_number": 974,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-24",
   "until": "2026-10-24"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-ead51241226b1f2185df2120-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": "32.5293",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 57,
   "n_events": 24,
   "n_void": 0,
   "ci_low": "-9.2049",
   "ci_high": "78.5286",
   "ci_method": "cluster_bootstrap",
   "price_source": "market_price",
   "coverage_percent": "98.25",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T18:17:02.738Z",
   "enough_for_ranking": true,
   "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: 57 settled picks across 24 matches",
  "average_odds": "2.21",
  "odds_from_author": 56,
  "odds_from_snapshot": 1
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-1647549487bd2e40086911b2",
  "bankroll_hundredths": 1185417,
  "reserve_hundredths": 10000,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": 185417,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-10-10T23:35:57.391Z",
    "bankroll_hundredths": 990000,
    "profit_hundredths": -10000,
    "outcome_id": "ish-f58ee376d62a5ce43c67c6a4"
   },
   {
    "at": "2026-10-10T23:35:57.398Z",
    "bankroll_hundredths": 980000,
    "profit_hundredths": -20000,
    "outcome_id": "ish-e52c96022e9cc2be84623391"
   },
   {
    "at": "2026-10-10T23:35:57.518Z",
    "bankroll_hundredths": 984348,
    "profit_hundredths": -15652,
    "outcome_id": "ish-215612a4ea0fd0f990daa5bc"
   },
   {
    "at": "2026-10-10T23:35:57.524Z",
    "bankroll_hundredths": 974348,
    "profit_hundredths": -25652,
    "outcome_id": "ish-584b1351f1762b6b9126c100"
   },
   {
    "at": "2026-10-10T23:35:57.545Z",
    "bankroll_hundredths": 964348,
    "profit_hundredths": -35652,
    "outcome_id": "ish-e2978aed086f27fdabd6f534"
   },
   {
    "at": "2026-10-10T23:35:57.551Z",
    "bankroll_hundredths": 971755,
    "profit_hundredths": -28245,
    "outcome_id": "ish-9c9eefae10ba15987fbe0132"
   },
   {
    "at": "2026-10-10T23:35:57.560Z",
    "bankroll_hundredths": 977502,
    "profit_hundredths": -22498,
    "outcome_id": "ish-7cfc6a3c0a0c56498287e9ed"
   },
   {
    "at": "2026-10-10T23:35:57.599Z",
    "bankroll_hundredths": 983791,
    "profit_hundredths": -16209,
    "outcome_id": "ish-074f0938cff233767b9183f4"
   },
   {
    "at": "2026-10-10T23:35:57.605Z",
    "bankroll_hundredths": 989241,
    "profit_hundredths": -10759,
    "outcome_id": "ish-ccc8bdaa05bfe9fe2f89dc52"
   },
   {
    "at": "2026-10-10T23:35:57.612Z",
    "bankroll_hundredths": 1019241,
    "profit_hundredths": 19241,
    "outcome_id": "ish-bb72af9e18de00dbe5982609"
   },
   {
    "at": "2026-10-11T19:19:13.465Z",
    "bankroll_hundredths": 1025908,
    "profit_hundredths": 25908,
    "outcome_id": "ish-91c4feba99ad59dd07a9cebc"
   },
   {
    "at": "2026-10-11T21:20:41.726Z",
    "bankroll_hundredths": 1035763,
    "profit_hundredths": 35763,
    "outcome_id": "ish-6cd2757cd6920e200a01789e"
   },
   {
    "at": "2026-10-11T21:20:41.732Z",
    "bankroll_hundredths": 1043575,
    "profit_hundredths": 43575,
    "outcome_id": "ish-7ad07f4bc23218dd2d7dc723"
   },
   {
    "at": "2026-10-11T21:20:41.739Z",
    "bankroll_hundredths": 1072075,
    "profit_hundredths": 72075,
    "outcome_id": "ish-f71b43f0796b1770ef0a20d8"
   },
   {
    "at": "2026-10-12T19:06:39.996Z",
    "bankroll_hundredths": 1077789,
    "profit_hundredths": 77789,
    "outcome_id": "ish-6216174f03b838389e322785"
   },
   {
    "at": "2026-10-12T21:08:07.276Z",
    "bankroll_hundredths": 1067789,
    "profit_hundredths": 67789,
    "outcome_id": "ish-4d0b742585847fc39c71ae47"
   },
   {
    "at": "2026-10-13T21:19:48.813Z",
    "bankroll_hundredths": 1057789,
    "profit_hundredths": 57789,
    "outcome_id": "ish-6b2c9fa4fd856c0520f1f492"
   },
   {
    "at": "2026-10-13T21:19:48.832Z",
    "bankroll_hundredths": 1065308,
    "profit_hundredths": 65308,
    "outcome_id": "ish-3f529cc5fc946980f854842e"
   },
   {
    "at": "2026-10-14T21:09:44.243Z",
    "bankroll_hundredths": 1055308,
    "profit_hundredths": 55308,
    "outcome_id": "ish-cefe8efb471f3403cbb6e5c6"
   },
   {
    "at": "2026-10-14T21:09:44.251Z",
    "bankroll_hundredths": 1045308,
    "profit_hundredths": 45308,
    "outcome_id": "ish-f156aabc36be22f6bbec5814"
   },
   {
    "at": "2026-10-14T21:09:44.259Z",
    "bankroll_hundredths": 1054004,
    "profit_hundredths": 54004,
    "outcome_id": "ish-92351dc890f5d988ccaf3f6c"
   },
   {
    "at": "2026-10-17T16:16:28.366Z",
    "bankroll_hundredths": 1072804,
    "profit_hundredths": 72804,
    "outcome_id": "ish-a8ada1136354d6a268a642fc"
   },
   {
    "at": "2026-10-17T18:12:07.361Z",
    "bankroll_hundredths": 1079797,
    "profit_hundredths": 79797,
    "outcome_id": "ish-386ce61d57f08485b4131440"
   },
   {
    "at": "2026-10-17T23:36:18.080Z",
    "bankroll_hundredths": 1069797,
    "profit_hundredths": 69797,
    "outcome_id": "ish-19f7cd1e75a1c61098df0203"
   },
   {
    "at": "2026-10-18T18:06:49.031Z",
    "bankroll_hundredths": 1059797,
    "profit_hundredths": 59797,
    "outcome_id": "ish-c9e19428a4929d73f5931f65"
   },
   {
    "at": "2026-10-18T18:06:49.044Z",
    "bankroll_hundredths": 1066914,
    "profit_hundredths": 66914,
    "outcome_id": "ish-19f1a0390568aaaf63377355"
   },
   {
    "at": "2026-10-19T19:10:02.920Z",
    "bankroll_hundredths": 1076914,
    "profit_hundredths": 76914,
    "outcome_id": "ish-08ac848047b6f93dddd83777"
   },
   {
    "at": "2026-10-19T19:10:02.948Z",
    "bankroll_hundredths": 1088014,
    "profit_hundredths": 88014,
    "outcome_id": "ish-1cf97d632cc5e823d2118bb8"
   },
   {
    "at": "2026-10-19T21:09:38.844Z",
    "bankroll_hundredths": 1078014,
    "profit_hundredths": 78014,
    "outcome_id": "ish-2d179fa657d38e287ad988c9"
   },
   {
    "at": "2026-10-22T11:15:16.428Z",
    "bankroll_hundredths": 1074018,
    "profit_hundredths": 74018,
    "outcome_id": "ish-05361b0dd28ced644b4a1443"
   },
   {
    "at": "2026-10-22T12:41:47.504Z",
    "bankroll_hundredths": 1064018,
    "profit_hundredths": 64018,
    "outcome_id": "ish-29ca44bc5a1d06909d1ad49d"
   },
   {
    "at": "2026-10-22T12:52:40.415Z",
    "bankroll_hundredths": 1068718,
    "profit_hundredths": 68718,
    "outcome_id": "ish-096ed3a9e5f7ee31006fdd4e"
   },
   {
    "at": "2026-10-23T21:10:02.978Z",
    "bankroll_hundredths": 1076237,
    "profit_hundredths": 76237,
    "outcome_id": "ish-4f73d87a5f12b283effc1abe"
   },
   {
    "at": "2026-10-23T21:10:02.988Z",
    "bankroll_hundredths": 1066237,
    "profit_hundredths": 66237,
    "outcome_id": "ish-b6cd83d842d3704742235f15"
   },
   {
    "at": "2026-10-24T16:08:14.750Z",
    "bankroll_hundredths": 1056237,
    "profit_hundredths": 56237,
    "outcome_id": "ish-db25d1de037f4a4dbc40a9eb"
   },
   {
    "at": "2026-10-24T16:08:14.817Z",
    "bankroll_hundredths": 1046237,
    "profit_hundredths": 46237,
    "outcome_id": "ish-9e2c3853a5416e12a8b26c36"
   },
   {
    "at": "2026-10-24T16:08:19.085Z",
    "bankroll_hundredths": 1051837,
    "profit_hundredths": 51837,
    "outcome_id": "ish-a5d67d734439f033b37d1fca"
   },
   {
    "at": "2026-10-24T16:08:19.093Z",
    "bankroll_hundredths": 1064637,
    "profit_hundredths": 64637,
    "outcome_id": "ish-276b658e110c1bff1a5cbf71"
   },
   {
    "at": "2026-10-24T19:54:24.975Z",
    "bankroll_hundredths": 1071089,
    "profit_hundredths": 71089,
    "outcome_id": "ish-60bfe004e478e3e23dcbe2be"
   },
   {
    "at": "2026-10-24T21:03:19.973Z",
    "bankroll_hundredths": 1140089,
    "profit_hundredths": 140089,
    "outcome_id": "ish-593bd056fd6aa830ccc34c33"
   },
   {
    "at": "2026-10-24T21:03:20.028Z",
    "bankroll_hundredths": 1164589,
    "profit_hundredths": 164589,
    "outcome_id": "ish-3e3d2fc120f6ff39883aeb9e"
   },
   {
    "at": "2026-10-24T21:03:20.059Z",
    "bankroll_hundredths": 1173389,
    "profit_hundredths": 173389,
    "outcome_id": "ish-33af3612afcb556c1a299b93"
   },
   {
    "at": "2026-10-26T12:50:38.707Z",
    "bankroll_hundredths": 1178689,
    "profit_hundredths": 178689,
    "outcome_id": "ish-20c63240126b9291a1ef4008"
   },
   {
    "at": "2026-10-26T12:50:38.727Z",
    "bankroll_hundredths": 1182789,
    "profit_hundredths": 182789,
    "outcome_id": "ish-f1a019c2610238017acf4232"
   },
   {
    "at": "2026-10-26T12:50:38.745Z",
    "bankroll_hundredths": 1197789,
    "profit_hundredths": 197789,
    "outcome_id": "ish-1b7b51957fc0990aa54143dc"
   },
   {
    "at": "2026-10-26T12:50:38.908Z",
    "bankroll_hundredths": 1187789,
    "profit_hundredths": 187789,
    "outcome_id": "ish-4bd053b557b8d9644997bece"
   },
   {
    "at": "2026-10-26T12:50:38.918Z",
    "bankroll_hundredths": 1177789,
    "profit_hundredths": 177789,
    "outcome_id": "ish-33a3d97b327dc4fe17652e1a"
   },
   {
    "at": "2026-10-26T12:50:38.931Z",
    "bankroll_hundredths": 1181480,
    "profit_hundredths": 181480,
    "outcome_id": "ish-a1e82d063f358fd9c6e1ba41"
   },
   {
    "at": "2026-10-26T12:50:42.968Z",
    "bankroll_hundredths": 1195480,
    "profit_hundredths": 195480,
    "outcome_id": "ish-950e464884aa0cd13a603a05"
   },
   {
    "at": "2026-10-26T12:50:42.979Z",
    "bankroll_hundredths": 1206480,
    "profit_hundredths": 206480,
    "outcome_id": "ish-79f03205c4e377e1cc62bd9f"
   },
   {
    "at": "2026-11-06T22:57:46.950Z",
    "bankroll_hundredths": 1196480,
    "profit_hundredths": 196480,
    "outcome_id": "ish-002eab99769505f8c9af72be"
   },
   {
    "at": "2026-11-06T22:57:47.105Z",
    "bankroll_hundredths": 1204354,
    "profit_hundredths": 204354,
    "outcome_id": "ish-9c66609ec330f06b0eb602c3"
   },
   {
    "at": "2026-11-06T22:57:47.140Z",
    "bankroll_hundredths": 1194354,
    "profit_hundredths": 194354,
    "outcome_id": "ish-c8e2fc3d4084a87eca222722"
   },
   {
    "at": "2026-11-06T23:43:42.975Z",
    "bankroll_hundredths": 1198354,
    "profit_hundredths": 198354,
    "outcome_id": "ish-ad31b99c25db4906201be0db"
   },
   {
    "at": "2026-11-07T00:38:18.993Z",
    "bankroll_hundredths": 1205065,
    "profit_hundredths": 205065,
    "outcome_id": "ish-143337b76cbc3f3aa3917ba3"
   },
   {
    "at": "2026-11-07T00:55:34.720Z",
    "bankroll_hundredths": 1195065,
    "profit_hundredths": 195065,
    "outcome_id": "ish-179f9e560e4d3e66ac345439"
   },
   {
    "at": "2026-11-07T02:00:04.555Z",
    "bankroll_hundredths": 1201517,
    "profit_hundredths": 201517,
    "outcome_id": "ish-72e36bff1b47855fb57fb9fd"
   },
   {
    "at": "2026-11-07T03:30:41.059Z",
    "bankroll_hundredths": 1191517,
    "profit_hundredths": 191517,
    "outcome_id": "ish-511ecbf33559326d031c1124"
   },
   {
    "at": "2026-11-07T12:19:06.691Z",
    "bankroll_hundredths": 1195417,
    "profit_hundredths": 195417,
    "outcome_id": "ish-63324e0bc03cbaa33ec76d41"
   },
   {
    "at": "2026-11-07T12:42:58.868Z",
    "bankroll_hundredths": 1185417,
    "profit_hundredths": 185417,
    "outcome_id": "ish-9b6a3a3a53daef2e78c58130"
   }
  ],
  "top_ups": [],
  "rule": "When the balance falls below 100 points and no bets are open, 10000 points are added; the remaining balance is kept. While bets are open we wait for settlement.",
  "series_key": "market_price",
  "series_label": "At an independent odds snapshot"
 },
 "simulations": [],
 "completeness": {
  "detected": 577,
  "recognised": 162,
  "accepted": 73,
  "executed": 62,
  "calculated": 61,
  "gaps": [
   {
    "cause": "National-team matches",
    "figure": 30
   },
   {
    "cause": "not_supported",
    "figure": 29
   },
   {
    "cause": "outside the method",
    "figure": 27
   },
   {
    "cause": "not_checked",
    "figure": 5
   },
   {
    "cause": "disputed_reading",
    "figure": 5
   },
   {
    "cause": "other reading",
    "figure": 3
   },
   {
    "cause": "no_price_at_capture",
    "figure": 1
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 577,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 62,
   "not_about_a_match": 353,
   "unclassified": 0
  },
  "predictions": 162,
  "predictions_restored": 0,
  "matches": 36,
  "admitted": 73,
  "qualifying_picks": 62,
  "qualifying_picks_restored": 0,
  "settled_picks": 61,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 58,
    "settled_picks": 57,
    "void": 0,
    "pending_picks": 1,
    "matches": 24,
    "operations_settled": 57,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   },
   {
    "code_name": "author_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 61,
    "settled_picks": 60,
    "void": 0,
    "pending_picks": 1,
    "matches": 24,
    "operations_settled": 60,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.1",
     "2.2"
    ],
    "display_name": "At the author's stated price"
   },
   {
    "code_name": "derived_series",
    "derived": true,
    "is_restored": false,
    "qualifying_picks": 26,
    "settled_picks": 26,
    "void": 0,
    "pending_picks": 0,
    "matches": 26,
    "operations_settled": 26,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "Forecast Record reconstruction from the predicted score"
   }
  ],
  "gaps": [
   {
    "code_name": "outside_coverage",
    "cause": "National-team matches",
    "figure": 30
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 29
   },
   {
    "code_name": "not_admitted",
    "cause": "outside the method",
    "figure": 27
   },
   {
    "code_name": "not_checked",
    "cause": "not_checked",
    "figure": 5
   },
   {
    "code_name": "disputed_reading",
    "cause": "disputed_reading",
    "figure": 5
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 3
   },
   {
    "code_name": "no_price_at_capture",
    "cause": "no_price_at_capture",
    "figure": 1
   }
  ],
  "duplicates": 0,
  "junk": {
   "ads": 1,
   "service": 2
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-fe4701c5a2caee6eecf52356",
   "url": "/evidence/?pick=n-fe4701c5a2caee6eecf52356",
   "quote_text": "Nothing about this rumour suggests a January breakthrough.",
   "fragment_from": 7602,
   "fragment_to": 7660,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/felix-nmecha-to-man-utd-football-whispers-index/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c069716870115f8edd6526bc961c02419f3f334b3379ec77e2242946c94b3c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T13:40:22.000Z",
   "detected_at": "2026-10-24T13:54:17.121Z",
   "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-24T13:40:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T13:40:22.000Z",
    "detected_at": "2026-10-24T13:54:17.121Z",
    "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-3093166341fbe7855bd4c13c",
   "url": "/evidence/?pick=n-3093166341fbe7855bd4c13c",
   "quote_text": "Dortmund want up to £84m for Nmecha and have no need to sell, leaving Manchester United's interest short of a serious push.",
   "fragment_from": 1008,
   "fragment_to": 1131,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/felix-nmecha-to-man-utd-football-whispers-index/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c069716870115f8edd6526bc961c02419f3f334b3379ec77e2242946c94b3c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T13:40:22.000Z",
   "detected_at": "2026-10-24T13:54:17.121Z",
   "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-24T13:40:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T13:40:22.000Z",
    "detected_at": "2026-10-24T13:54:17.121Z",
    "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-c0aded323e66e275d2f412f2",
   "url": "/evidence/?pick=n-c0aded323e66e275d2f412f2",
   "quote_text": "Manchester United have made contact with Borussia Dortmund over Felix Nmecha.",
   "fragment_from": 227,
   "fragment_to": 304,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/felix-nmecha-to-man-utd-football-whispers-index/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c069716870115f8edd6526bc961c02419f3f334b3379ec77e2242946c94b3c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T13:40:22.000Z",
   "detected_at": "2026-10-24T13:54:17.121Z",
   "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-24T13:40:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T13:40:22.000Z",
    "detected_at": "2026-10-24T13:54:17.121Z",
    "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-cb4508824edef4164a998e1e",
   "url": "/evidence/?pick=n-cb4508824edef4164a998e1e",
   "quote_text": "Manchester City are reportedly interested in signing Chelsea full-back Malo Gusto during the ",
   "fragment_from": 2075,
   "fragment_to": 2168,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/latest-transfer-news-today-tottenham-enquire-over-double-ac-milan-swoop-man-city-eye-move-for-chelsea-star/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "73784d06aec4f84ebfa4eaf33887f60d1c95a58a84aefca1ccba50d12370e7e1",
    "material_removed": false
   },
   "published_at": "2026-10-24T12:40:28.000Z",
   "detected_at": "2026-10-24T12:55:46.875Z",
   "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-24T12:40:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T12:40:28.000Z",
    "detected_at": "2026-10-24T12:55:46.875Z",
    "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-cdb6331bb061822626ab1a37",
   "url": "/evidence/?pick=n-cdb6331bb061822626ab1a37",
   "quote_text": "According to reports, Spurs and Newcastle United are both showing interest in AC Milan duo Ruben",
   "fragment_from": 915,
   "fragment_to": 1011,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/latest-transfer-news-today-tottenham-enquire-over-double-ac-milan-swoop-man-city-eye-move-for-chelsea-star/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "73784d06aec4f84ebfa4eaf33887f60d1c95a58a84aefca1ccba50d12370e7e1",
    "material_removed": false
   },
   "published_at": "2026-10-24T12:40:28.000Z",
   "detected_at": "2026-10-24T12:55:46.875Z",
   "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-24T12:40:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T12:40:28.000Z",
    "detected_at": "2026-10-24T12:55:46.875Z",
    "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-2d933782db6e09f95989c618",
   "url": "/evidence/?pick=n-2d933782db6e09f95989c618",
   "quote_text": "Tottenham Hotspur have made a poor start to the season and sit 16th in the Premier League table",
   "fragment_from": 753,
   "fragment_to": 848,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/latest-transfer-news-today-tottenham-enquire-over-double-ac-milan-swoop-man-city-eye-move-for-chelsea-star/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "73784d06aec4f84ebfa4eaf33887f60d1c95a58a84aefca1ccba50d12370e7e1",
    "material_removed": false
   },
   "published_at": "2026-10-24T12:40:28.000Z",
   "detected_at": "2026-10-24T12:55:46.875Z",
   "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-24T12:40:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T12:40:28.000Z",
    "detected_at": "2026-10-24T12:55:46.875Z",
    "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-81ba43f3a9707e60cd5c7d4d",
   "url": "/evidence/?pick=n-81ba43f3a9707e60cd5c7d4d",
   "quote_text": "make sure to check out our today's betting tips page for more of our expert predictions.",
   "fragment_from": 644,
   "fragment_to": 732,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "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-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "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-d795b4e2a6507b02392ac0d0",
   "url": "/evidence/?pick=n-d795b4e2a6507b02392ac0d0",
   "quote_text": "Read our prediction, preview and betting tips for the game below",
   "fragment_from": 574,
   "fragment_to": 638,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "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-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "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-5bdad68ef4c94c4413458bf8",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-5bdad68ef4c94c4413458bf8",
   "quote_text": "Leverkusen win + BTTS – Yes at 3.40 | Likelihood: High",
   "fragment_from": 3713,
   "fragment_to": 3767,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "executed_at": "2026-10-24T08:25:48.209Z",
   "statement_class": "priced",
   "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": "Match result and both teams to score",
   "outcome_label": "Bayer 04 Leverkusen win, both teams to score: yes",
   "odds_set": {
    "by_author": "3.4",
    "our_snapshot": "3.3500",
    "our_snapshot_at": "2026-10-24T08:21:25.261Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Match result and both teams to score",
    "choice": "Bayer 04 Leverkusen win, both teams to score: yes",
    "author_odds": "3.4",
    "market_key": "both_teams_score_and_result",
    "choice_key": "2-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: Bayer 04 Leverkusen win, both teams to score: yes at 3.4"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "3de2cd31f6edb5f08604ab498e8b04d8a862581d1e3f84785472c6970ba08987",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Bayer 04 Leverkusen win, both teams to score: yes",
     "decimal_odds": "3.4",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T08:25:46.934Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "2665fea4e09cc48d44fddb6bdba55cd3a6221b077526e7ccb04671e2315959a3",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Bayer 04 Leverkusen win, both teams to score: yes",
     "decimal_odds": "3.3500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T08:25:48.209Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-e1218465eda364b824ad2ddb",
   "url": "/authors/saikat-mandal/picks/10/#pick-n-e1218465eda364b824ad2ddb",
   "quote_text": "Over 2.5 goals at 1.42 | Likelihood: High",
   "fragment_from": 3668,
   "fragment_to": 3709,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "executed_at": "2026-10-24T08:25:55.079Z",
   "statement_class": "priced",
   "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": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.42",
    "our_snapshot": "1.3691",
    "our_snapshot_at": "2026-10-24T08:23:35.094Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 3691,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.42",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 1.42"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "1a7c0648d398a172b85bb762f5256f7d717e4eb2f777e926d397a3da07c6df2a",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.42",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4200,
     "executed_at": "2026-10-24T08:25:51.898Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "458220555d843dff5af388efab62cd79251dae4f16e46f3e8438c4542ba47e65",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.3691",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3691,
     "executed_at": "2026-10-24T08:25:55.079Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-dfa129efd9d2b84547d23ec7",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-dfa129efd9d2b84547d23ec7",
   "quote_text": "HT winner: Leverkusen at 2.75 | Likelihood: Medium",
   "fragment_from": 3614,
   "fragment_to": 3664,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "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": "1X2, match result, first half",
   "outcome_label": "Bayer 04 Leverkusen",
   "odds_set": {
    "by_author": "2.75",
    "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-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result, first half",
    "choice": "Bayer 04 Leverkusen",
    "author_odds": "2.75",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "first_half",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result, first half: Bayer 04 Leverkusen at 2.75"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "2d8bdb9cfa7fdb91a3db771726bf722b7a5c824d771e4a2a8987397ff206322a",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result, first half",
     "choice": "Bayer 04 Leverkusen",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "32857b6314315d903513fd10507ea05c239d4f255776e572b5d28e52576846cf",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result, first half",
     "choice": "Bayer 04 Leverkusen",
     "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": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4e3848ac917084c77ef7a99c",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-4e3848ac917084c77ef7a99c",
   "quote_text": "Leverkusen to score the first goal at 1.87 | Likelihood: High",
   "fragment_from": 3549,
   "fragment_to": 3610,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "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-d40f0d006a8f348cc84c12d8",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-d40f0d006a8f348cc84c12d8",
   "quote_text": "Whispers predicts: Hoffenheim 1-2 Bayer Leverkusen",
   "fragment_from": 2823,
   "fragment_to": 2873,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "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-2 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-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "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-2 Bayer 04 Leverkusen",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: TSG Hoffenheim 1-2 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": "15408c82700fd5a2c4dfa51e8488869c5fa9b11c747b82e947e595fe7113eb33",
     "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.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-24T08:25:51.767Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-690146226f199f7f8cd6fd9a",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-690146226f199f7f8cd6fd9a",
   "quote_text": "Leverkusen to win at 2.25 | Likelihood: High",
   "fragment_from": 3501,
   "fragment_to": 3545,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
    "material_removed": false
   },
   "published_at": "2026-10-24T08:14:53.000Z",
   "detected_at": "2026-10-24T08:24:17.318Z",
   "executed_at": "2026-10-24T08:25:51.614Z",
   "statement_class": "priced",
   "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": "1X2, match result",
   "outcome_label": "Bayer 04 Leverkusen",
   "odds_set": {
    "by_author": "2.25",
    "our_snapshot": "2.2500",
    "our_snapshot_at": "2026-10-24T08:23:35.094Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T08:14:53.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Bayer 04 Leverkusen",
    "author_odds": "2.25",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Bayer 04 Leverkusen at 2.25"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "cc73fe1116f3cad9757695909c2ed0b902fbb25e9ac6b1f726a6bed51decb8f9",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Bayer 04 Leverkusen",
     "decimal_odds": "2.25",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T08:25:48.301Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "be8a83fcd19d6160dbcef470798830f6a5bd8e52ae7491cccbe50fe688d0100f",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Bayer 04 Leverkusen",
     "decimal_odds": "2.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-24T08:25:51.614Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-74f75830f49b5fd239261960",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-74f75830f49b5fd239261960",
   "quote_text": "Each of Inter's last six matches has produced less than 11 corners. For those, looking to explore the corner markets, Under 10.5 corners at 1.57 presents an attractive offer.",
   "fragment_from": 3256,
   "fragment_to": 3430,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
    "material_removed": false
   },
   "published_at": "2026-10-24T06:04:20.000Z",
   "detected_at": "2026-10-24T06:14:17.354Z",
   "executed_at": "2026-10-24T06:15:40.549Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-9d1d25085bce",
    "display_name": "Inter — Fiorentina",
    "competition_name": "Serie A",
    "starts_at": "2026-10-25T11:30:00.000Z",
    "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Over/Under 10.5 corners",
   "outcome_label": "under 10.5",
   "odds_set": {
    "by_author": "1.57",
    "our_snapshot": "1.5300",
    "our_snapshot_at": "2026-10-24T06:13:26.023Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 5300,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T06:04:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 10.5 corners",
    "choice": "under 10.5",
    "author_odds": "1.57",
    "market_key": "corners_total",
    "choice_key": "under",
    "period": "match",
    "line": "10.5",
    "subject": "corners",
    "in_words": "Over/Under 10.5 corners: under 10.5 at 1.57"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won — corners 6-1 in the match (7 in total); the final score was Inter 2-1 Fiorentina."
   },
   "settlements": [
    {
     "operation_id": "f6096b7ec78681c32d07fc34eb29f4a87248a7c5eeed83cd6eee5e5f5eeea51a",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "under 10.5",
     "decimal_odds": "1.57",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5700,
     "executed_at": "2026-10-24T06:15:39.422Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e2a902e35ea0804f4c84b2fde97dea8f615940fa99fe2feee2837c206a0e4eb0",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "under 10.5",
     "decimal_odds": "1.5300",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5300,
     "executed_at": "2026-10-24T06:15:40.549Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-bfa3bb789b95aa1debd631ff",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-bfa3bb789b95aa1debd631ff",
   "quote_text": "Thus, a combo of Inter win and BTTS – Yes at 2.60 presents a tempting offer",
   "fragment_from": 3004,
   "fragment_to": 3079,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
    "material_removed": false
   },
   "published_at": "2026-10-24T06:04:20.000Z",
   "detected_at": "2026-10-24T06:14:17.354Z",
   "executed_at": "2026-10-24T06:15:42.605Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-9d1d25085bce",
    "display_name": "Inter — Fiorentina",
    "competition_name": "Serie A",
    "starts_at": "2026-10-25T11:30:00.000Z",
    "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "Inter win, both teams to score: yes",
   "odds_set": {
    "by_author": "2.6",
    "our_snapshot": "2.5000",
    "our_snapshot_at": "2026-10-24T06:13:26.023Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 15000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T06:04:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Match result and both teams to score",
    "choice": "Inter win, both teams to score: yes",
    "author_odds": "2.6",
    "market_key": "both_teams_score_and_result",
    "choice_key": "1-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: Inter win, both teams to score: yes at 2.6"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Inter 2-1 Fiorentina."
   },
   "settlements": [
    {
     "operation_id": "ef14016d98c4fce8c83edcbbd370aa655699e0b1e35641f3100fae3d887715c2",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Inter win, both teams to score: yes",
     "decimal_odds": "2.6",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 16000,
     "executed_at": "2026-10-24T06:15:42.109Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "abd472c79b71d05dca767efc541dc28a05eb26024868e04c4d9aeb6c0ded8f4a",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Inter win, both teams to score: yes",
     "decimal_odds": "2.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 15000,
     "executed_at": "2026-10-24T06:15:42.605Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-54d1634a00fa6622621a6418",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-54d1634a00fa6622621a6418",
   "quote_text": "Whispers predicts: Inter Milan 2-1 Fiorentina",
   "fragment_from": 2760,
   "fragment_to": 2805,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
    "material_removed": false
   },
   "published_at": "2026-10-24T06:04:20.000Z",
   "detected_at": "2026-10-24T06:14:17.354Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-9d1d25085bce",
    "display_name": "Inter — Fiorentina",
    "competition_name": "Serie A",
    "starts_at": "2026-10-25T11:30:00.000Z",
    "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Inter 2-1 Fiorentina",
   "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-24T06:04:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Inter 2-1 Fiorentina",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Inter 2-1 Fiorentina"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Matched: the final score was Inter 2-1 Fiorentina."
   },
   "settlements": [
    {
     "operation_id": "b56941cd18acf1d1e16a2bdb66012ebc610ab7ee04f825a2dff47d110a2bec99",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Inter",
     "decimal_odds": "1.3500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3500,
     "executed_at": "2026-10-24T06:15:39.260Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-9572c07abb51f7bcdd361f50",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-9572c07abb51f7bcdd361f50",
   "quote_text": "Seven of Inter's last nine matches have produced more than two goals, and thus, Over 2.5 goals at 1.44 can be a safe option.",
   "fragment_from": 3130,
   "fragment_to": 3254,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
    "material_removed": false
   },
   "published_at": "2026-10-24T06:04:20.000Z",
   "detected_at": "2026-10-24T06:14:17.354Z",
   "executed_at": "2026-10-24T06:15:41.899Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-9d1d25085bce",
    "display_name": "Inter — Fiorentina",
    "competition_name": "Serie A",
    "starts_at": "2026-10-25T11:30:00.000Z",
    "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.44",
    "our_snapshot": "1.4100",
    "our_snapshot_at": "2026-10-24T06:13:26.023Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 4100,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T06:04:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.44",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 1.44"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Inter 2-1 Fiorentina."
   },
   "settlements": [
    {
     "operation_id": "a6979ea55ac721f7b4cb2a969b623486f9d3ac0fb1ab26fe82cad8afd882de7d",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.44",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4400,
     "executed_at": "2026-10-24T06:15:40.650Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "3f9f74e09f157ba645bcdb69c4081f7b74a7b0b73f0913f776fec66840465351",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.4100",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4100,
     "executed_at": "2026-10-24T06:15:41.899Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-538e5c0ce36cce5c9ec959a1",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-538e5c0ce36cce5c9ec959a1",
   "quote_text": "Whispers predicts: Freiburg 1-2 Bayern Munich",
   "fragment_from": 2706,
   "fragment_to": 2751,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
    "material_removed": false
   },
   "published_at": "2026-10-23T21:49:41.000Z",
   "detected_at": "2026-10-23T21:54:17.185Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-215f38fae182",
    "display_name": "SC Freiburg — FC Bayern München",
    "competition_name": "Bundesliga",
    "starts_at": "2026-10-25T16:30:00.000Z",
    "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
    "scoreline": "1-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "SC Freiburg 1-2 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-23T21:49:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "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 1-2 FC Bayern München",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: SC Freiburg 1-2 FC Bayern München"
   },
   "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 SC Freiburg 1-3 FC Bayern München."
   },
   "settlements": [
    {
     "operation_id": "02e15bb8ae69d3a173db2c1009c47095c306c6df92a5878e921c583366653ffe",
     "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.3800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3800,
     "executed_at": "2026-10-24T13:28:53.802Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-16cddcfc9db99239475cf455",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-16cddcfc9db99239475cf455",
   "quote_text": "> Michael Olise to score anytime at 2.50 | Likelihood: Medium",
   "fragment_from": 3449,
   "fragment_to": 3510,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
    "material_removed": false
   },
   "published_at": "2026-10-23T21:49:41.000Z",
   "detected_at": "2026-10-23T21:54:17.185Z",
   "executed_at": "2026-10-24T13:28:52.770Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-215f38fae182",
    "display_name": "SC Freiburg — FC Bayern München",
    "competition_name": "Bundesliga",
    "starts_at": "2026-10-25T16:30:00.000Z",
    "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
    "scoreline": "1-3",
    "condition": "finished"
   },
   "market_label": "Player to score",
   "outcome_label": "Michael Olise to score",
   "odds_set": {
    "by_author": "2.5",
    "our_snapshot": "2.4000",
    "our_snapshot_at": "2026-10-23T21:51:19.599Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 14000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T21:49:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Player to score",
    "choice": "Michael Olise to score",
    "author_odds": "2.5",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Michael Olise to score at 2.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won — Michael Olise scored 1 goal; the final score was SC Freiburg 1-3 FC Bayern München."
   },
   "settlements": [
    {
     "operation_id": "50c3e4519db212045bc246ba10e9c87fd9c9b05f7f3e35608ce047d0bdfb8327",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Michael Olise to score",
     "decimal_odds": "2.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 15000,
     "executed_at": "2026-10-24T13:28:52.119Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "a351b5762f0152ec78420ccda9f4fd677ba7b0b1e30f1a3c5cb3412233e990ae",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Michael Olise to score",
     "decimal_odds": "2.4000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 14000,
     "executed_at": "2026-10-24T13:28:52.770Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1c183c3d2f4f57e3eb049e77",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-1c183c3d2f4f57e3eb049e77",
   "quote_text": "> Bayern win + BTTS – Yes at 2.15 | Likelihood: High",
   "fragment_from": 3395,
   "fragment_to": 3447,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
    "material_removed": false
   },
   "published_at": "2026-10-23T21:49:41.000Z",
   "detected_at": "2026-10-23T21:54:17.185Z",
   "executed_at": "2026-10-24T13:28:53.204Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-215f38fae182",
    "display_name": "SC Freiburg — FC Bayern München",
    "competition_name": "Bundesliga",
    "starts_at": "2026-10-25T16:30:00.000Z",
    "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
    "scoreline": "1-3",
    "condition": "finished"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "FC Bayern München win, both teams to score: yes",
   "odds_set": {
    "by_author": "2.15",
    "our_snapshot": "2.1000",
    "our_snapshot_at": "2026-10-23T21:51:19.599Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 11000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T21:49:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Match result and both teams to score",
    "choice": "FC Bayern München win, both teams to score: yes",
    "author_odds": "2.15",
    "market_key": "both_teams_score_and_result",
    "choice_key": "2-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: FC Bayern München win, both teams to score: yes at 2.15"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was SC Freiburg 1-3 FC Bayern München."
   },
   "settlements": [
    {
     "operation_id": "48dfe85c68f5cc4030942ab4173e53d019cb3a7b4acaab527f26937cdaf69d28",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "FC Bayern München win, both teams to score: yes",
     "decimal_odds": "2.15",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11500,
     "executed_at": "2026-10-24T13:28:52.872Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "3d8cdb14db1e7097adcee25e6d4e084e360466c995635751dabfce4c30ce06e2",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "FC Bayern München win, both teams to score: yes",
     "decimal_odds": "2.1000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11000,
     "executed_at": "2026-10-24T13:28:53.204Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-64db3ed8de34b6ae835b24dc",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-64db3ed8de34b6ae835b24dc",
   "quote_text": "> BTTS – Yes at 1.44 | Likelihood: High",
   "fragment_from": 3354,
   "fragment_to": 3393,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
    "material_removed": false
   },
   "published_at": "2026-10-23T21:49:41.000Z",
   "detected_at": "2026-10-23T21:54:17.185Z",
   "executed_at": "2026-11-07T12:13:38.155Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-215f38fae182",
    "display_name": "SC Freiburg — FC Bayern München",
    "competition_name": "Bundesliga",
    "starts_at": "2026-10-25T16:30:00.000Z",
    "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
    "scoreline": "1-3",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.44",
    "our_snapshot": "1.3900",
    "our_snapshot_at": "2026-10-23T21:51:19.599Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 3900,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T21:49:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.44",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.44"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was SC Freiburg 1-3 FC Bayern München."
   },
   "settlements": [
    {
     "operation_id": "3fef2fdbbf06c2fd24dd98c1dd472db168c36a726de5352493e307073555f3f9",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.44",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4400,
     "executed_at": "2026-11-07T12:13:37.382Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "f246d67eff608206fd1d9bc96ec2121f611f298b980b8589c98383415a15a1d5",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.3900",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3900,
     "executed_at": "2026-11-07T12:13:38.155Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-27b5feb62d443ee4c16592d0",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-27b5feb62d443ee4c16592d0",
   "quote_text": "> Freiburg to score first at 3.20 | Likelihood: Medium",
   "fragment_from": 3298,
   "fragment_to": 3352,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
    "material_removed": false
   },
   "published_at": "2026-10-23T21:49:41.000Z",
   "detected_at": "2026-10-23T21:54:17.185Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-23T21:49:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "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-25524c8cdb91dcab25cddf74",
   "url": "/evidence/?pick=n-25524c8cdb91dcab25cddf74",
   "quote_text": "Their away form also needs improvement, as they are yet to register a win on the road, managing",
   "fragment_from": 2417,
   "fragment_to": 2512,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-f8dfbe01f0d1bbc9fb26fb7b",
   "url": "/evidence/?pick=n-f8dfbe01f0d1bbc9fb26fb7b",
   "quote_text": "Despite this encouraging run, Bremen have failed to keep a clean sheet in any of their last five",
   "fragment_from": 2254,
   "fragment_to": 2350,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-c5de1ad77ea92deb5f8cf07a",
   "url": "/evidence/?pick=n-c5de1ad77ea92deb5f8cf07a",
   "quote_text": "However, Bremen boast an impressive record at this venue, remaining unbeaten in their last five",
   "fragment_from": 1953,
   "fragment_to": 2048,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-d6e9ff0602b83ada16172275",
   "url": "/evidence/?pick=n-d6e9ff0602b83ada16172275",
   "quote_text": "Their home form has been disappointing, as they are yet to win at the MEWA Arena and have already",
   "fragment_from": 1739,
   "fragment_to": 1836,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-f8591ea633967b1911a09d0b",
   "url": "/evidence/?pick=n-f8591ea633967b1911a09d0b",
   "quote_text": "Bremen have failed to keep a clean sheet in their last eight matches.",
   "fragment_from": 1010,
   "fragment_to": 1079,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-60e1950aad6a67058e991888",
   "url": "/evidence/?pick=n-60e1950aad6a67058e991888",
   "quote_text": "Five of Mainz's last six games have produced Over 2.5 goals.",
   "fragment_from": 948,
   "fragment_to": 1008,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-095daf441bb174a90e17bc0b",
   "url": "/evidence/?pick=n-095daf441bb174a90e17bc0b",
   "quote_text": "Bremen, on the other hand, are one point behind Mainz, but are without a win in their last two",
   "fragment_from": 559,
   "fragment_to": 653,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-5fb01bf754980c5bb9c4c749",
   "url": "/evidence/?pick=n-5fb01bf754980c5bb9c4c749",
   "quote_text": "Mainz 05 have made a solid start to the season, picking up three wins already",
   "fragment_from": 424,
   "fragment_to": 501,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-eda821d1e1720b65a4ec468c",
   "url": "/evidence/?pick=n-eda821d1e1720b65a4ec468c",
   "quote_text": "Urs Fischer, head coach of Mainz 05 - photo by IMAGO / osnapix",
   "fragment_from": 90,
   "fragment_to": 152,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-be0d15e5d0c5783263b2bc61",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-be0d15e5d0c5783263b2bc61",
   "quote_text": "Therefore, Over 10.5 corners at 11/8 represents a tempting offer.",
   "fragment_from": 3447,
   "fragment_to": 3512,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "executed_at": "2026-10-24T09:36:28.792Z",
   "statement_class": "priced",
   "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": "Over/Under 10.5 corners",
   "outcome_label": "over 10.5",
   "odds_set": {
    "by_author": "2.37",
    "our_snapshot": "2.2800",
    "our_snapshot_at": "2026-10-23T07:33:19.959Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 12800,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 10.5 corners",
    "choice": "over 10.5",
    "author_odds": "2.37",
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "10.5",
    "subject": "corners",
    "in_words": "Over/Under 10.5 corners: over 10.5 at 2.37"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won — corners 6-6 in the match (12 in total); the final score was 1. FSV Mainz 05 2-3 SV Werder Bremen."
   },
   "settlements": [
    {
     "operation_id": "5f9aa3ed1f897d4c3382b1b1fa220c12fa5049e6d3824b6aea4949a4998cb536",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "decimal_odds": "2.37",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 13700,
     "executed_at": "2026-10-24T09:36:28.431Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "1226991d42562db4f60f5ba1ea6242da54788e57eb5f7e53c42052b3b712c476",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "decimal_odds": "2.2800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 12800,
     "executed_at": "2026-10-24T09:36:28.792Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b2a8b4fe4655c99479f49384",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-b2a8b4fe4655c99479f49384",
   "quote_text": "Mainz 05 are priced to win the opening half at 13/10.",
   "fragment_from": 3303,
   "fragment_to": 3356,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-a3db84eeaffbd4cbb559f7d3",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-a3db84eeaffbd4cbb559f7d3",
   "quote_text": "Thus, Over 2.5 goals at 7/12 is a high possibility.",
   "fragment_from": 3175,
   "fragment_to": 3226,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "executed_at": "2026-10-24T09:36:28.414Z",
   "statement_class": "priced",
   "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": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.58",
    "our_snapshot": "1.5600",
    "our_snapshot_at": "2026-10-23T07:33:19.959Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 5600,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.58",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 1.58"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was 1. FSV Mainz 05 2-3 SV Werder Bremen."
   },
   "settlements": [
    {
     "operation_id": "016b82be9933a06fb1eb7edc5292a1c64422bf8f0dbea0b06d911451db94aece",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.58",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5800,
     "executed_at": "2026-10-24T09:36:27.323Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "4b365e78bffa945802ef72558cbbb58cc8851853160869dc2c9ac2e9e0a94432",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.5600",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5600,
     "executed_at": "2026-10-24T09:36:28.414Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-878a4d67e7d2c19f5733cc02",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-878a4d67e7d2c19f5733cc02",
   "quote_text": "A draw priced at 3/1 would be a good result for both teams.",
   "fragment_from": 2935,
   "fragment_to": 2994,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "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": "1X2, match result",
   "outcome_label": "draw",
   "odds_set": {
    "by_author": "4",
    "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "draw",
    "author_odds": "4",
    "market_key": "1x2",
    "choice_key": "X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: draw at 4"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was 1. FSV Mainz 05 2-3 SV Werder Bremen."
   },
   "settlements": [
    {
     "operation_id": "911ccbe011235bd818625cbede0d1f31705bb38895d8f6fcf5885c294a1c04b8",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "d74ca7e544d70830839745dec843c6f45e28e072565761970c496b6ce7be7594",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": 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": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-486ab7273a64eb9455616f1e",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-486ab7273a64eb9455616f1e",
   "quote_text": "and a correct scoreline of 2-2 can be backed at 12/1.",
   "fragment_from": 3049,
   "fragment_to": 3102,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "not_checked",
   "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": "13",
    "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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": "13",
    "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 at 13"
   },
   "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": "0b5a07f97a05eecd66732c9f52fa23d545b24a1efc086ef6c89c73a884b8c079",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "1. FSV Mainz 05 2-2 SV Werder Bremen",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "c7d585b18fcc0d3e06feab50990d655a425573f7bcfac3b1375941d1118e1986",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "1. FSV Mainz 05 2-2 SV Werder Bremen",
     "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": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c757ccdcbde76c04dd355a7a",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-c757ccdcbde76c04dd355a7a",
   "quote_text": "🔥 Our Hot tip\n\nFirst half loser: Werder Bremen",
   "fragment_from": 154,
   "fragment_to": 200,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
    "material_removed": false
   },
   "published_at": "2026-10-23T07:29:33.000Z",
   "detected_at": "2026-10-23T07:34:19.246Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "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-23T07:29:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "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-4055b3e7549da0426032c358",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-4055b3e7549da0426032c358",
   "quote_text": "Leipzig win + BTTS – yes at 2.25 | Likelihood: Medium",
   "fragment_from": 3237,
   "fragment_to": 3290,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
    "material_removed": false
   },
   "published_at": "2026-10-23T05:58:41.000Z",
   "detected_at": "2026-10-23T06:14:17.204Z",
   "executed_at": "2026-10-23T06:44:30.516Z",
   "statement_class": "priced",
   "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": "Match result and both teams to score",
   "outcome_label": "RB Leipzig win, both teams to score: yes",
   "odds_set": {
    "by_author": "2.25",
    "our_snapshot": "2.2000",
    "our_snapshot_at": "2026-10-23T06:12:38.003Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T05:58:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Match result and both teams to score",
    "choice": "RB Leipzig win, both teams to score: yes",
    "author_odds": "2.25",
    "market_key": "both_teams_score_and_result",
    "choice_key": "1-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: RB Leipzig win, both teams to score: yes at 2.25"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was RB Leipzig 4-0 SV 07 Elversberg."
   },
   "settlements": [
    {
     "operation_id": "caf184a132dcc0f105a64883304a423eac056446d6df3c1b6935006a61add7aa",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "RB Leipzig win, both teams to score: yes",
     "decimal_odds": "2.25",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T06:44:30.417Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "d1e7daba03f6db05c84d2d44af85d282e32b9b36a718e07364cb6568b1c532e7",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "RB Leipzig win, both teams to score: yes",
     "decimal_odds": "2.2000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T06:44:30.516Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-6dd623892323db238aa20075",
   "url": "/evidence/?pick=n-6dd623892323db238aa20075",
   "quote_text": "Vincent Wagner's side returned to winning ways in their previous outing, beating Augsburg 4-3",
   "fragment_from": 2134,
   "fragment_to": 2227,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
    "material_removed": false
   },
   "published_at": "2026-10-23T05:58:41.000Z",
   "detected_at": "2026-10-23T06:14:17.204Z",
   "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-23T05:58:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "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-50d53084c425f7133e080fba",
   "url": "/evidence/?pick=n-50d53084c425f7133e080fba",
   "quote_text": "Martin Demichelis's side have, however, been impressive at home, winning all of their matches",
   "fragment_from": 1568,
   "fragment_to": 1661,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
    "material_removed": false
   },
   "published_at": "2026-10-23T05:58:41.000Z",
   "detected_at": "2026-10-23T06:14:17.204Z",
   "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-23T05:58:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "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-9dbe739276db330052235d62",
   "url": "/evidence/?pick=n-9dbe739276db330052235d62",
   "quote_text": "Die Roten Bullen head into this fixture on the back of a 4-1 defeat to Real Madrid",
   "fragment_from": 409,
   "fragment_to": 491,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
    "material_removed": false
   },
   "published_at": "2026-10-23T05:58:41.000Z",
   "detected_at": "2026-10-23T06:14:17.204Z",
   "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-23T05:58:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "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-d7b7d45a09fe29a81a8c35c5",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-d7b7d45a09fe29a81a8c35c5",
   "quote_text": "Christopher Nkunku to score anytime at 2.10 | Likelihood: High",
   "fragment_from": 3294,
   "fragment_to": 3356,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
    "material_removed": false
   },
   "published_at": "2026-10-23T05:58:41.000Z",
   "detected_at": "2026-10-23T06:14:17.204Z",
   "executed_at": "2026-10-24T00:45:42.704Z",
   "statement_class": "priced",
   "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": "Player to score",
   "outcome_label": "Christopher Nkunku to score",
   "odds_set": {
    "by_author": "2.1",
    "our_snapshot": "2.0000",
    "our_snapshot_at": "2026-10-23T06:12:38.003Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T05:58:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Player to score",
    "choice": "Christopher Nkunku to score",
    "author_odds": "2.1",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Christopher Nkunku to score at 2.1"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": "4-0",
    "data_status": "unknown",
    "cause": "the result data received so far does not include the player statistics this market needs",
    "methodology_version": "2.2",
    "in_words": "Pending: the result data received so far does not include the player statistics this market needs."
   },
   "settlements": [
    {
     "operation_id": "1cebb9cc373b8aaaf7ab3add1109f036d755762ecaca3b286a06a201005eb173",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Christopher Nkunku to score",
     "decimal_odds": "2.1",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-10-23T06:44:29.809Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "adce5c486760ca9ce48b832cce2e0f28a2362524a488ab472449fec1941b4459",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Christopher Nkunku to score",
     "decimal_odds": "2.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-10-24T00:45:42.704Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7a4980fef8ef41f13cbbd800",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-7a4980fef8ef41f13cbbd800",
   "quote_text": "Both teams to score at 1.43 | Likelihood: High",
   "fragment_from": 3187,
   "fragment_to": 3233,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
    "material_removed": false
   },
   "published_at": "2026-10-23T05:58:41.000Z",
   "detected_at": "2026-10-23T06:14:17.204Z",
   "executed_at": "2026-10-23T06:44:29.787Z",
   "statement_class": "priced",
   "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": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.43",
    "our_snapshot": "1.4000",
    "our_snapshot_at": "2026-10-23T06:12:38.003Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T05:58:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.43",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.43"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was RB Leipzig 4-0 SV 07 Elversberg."
   },
   "settlements": [
    {
     "operation_id": "dc21d955d15191d675dad475937caa3014b936f389ec093631a997c655cb382b",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.43",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T06:44:29.104Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "c51d121ede58d755721c0e9659818b846dad89f76fc747dedc8e2aecb2b88d51",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.4000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T06:44:29.787Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-f61577f1fd3365c927923784",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-f61577f1fd3365c927923784",
   "quote_text": "Whispers predicts: RB Leipzig 2-1 Elversberg",
   "fragment_from": 2668,
   "fragment_to": 2712,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
    "material_removed": false
   },
   "published_at": "2026-10-23T05:58:41.000Z",
   "detected_at": "2026-10-23T06:14:17.204Z",
   "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-1 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-23T05:58:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "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-1 SV 07 Elversberg",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: RB Leipzig 2-1 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": "abd20390e67a6d780e4e200f07d6bb29efb0859be0698c9ba13491433cd3199b",
     "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-23T06:44:29.081Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ca3b0c7f3db7bb6b1fa1c552",
   "url": "/evidence/?pick=n-ca3b0c7f3db7bb6b1fa1c552",
   "quote_text": "check out our today's betting tips page for more of our expert predictions.",
   "fragment_from": 756,
   "fragment_to": 831,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
    "material_removed": false
   },
   "published_at": "2026-10-22T20:52:46.000Z",
   "detected_at": "2026-10-22T20:54:17.583Z",
   "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-22T20:52:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "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-3e62c5913a08b24edd5d0cd9",
   "url": "/evidence/?pick=n-3e62c5913a08b24edd5d0cd9",
   "quote_text": "Alberto Gilardino's side are dealing with a number of injury concerns",
   "fragment_from": 2274,
   "fragment_to": 2343,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
    "material_removed": false
   },
   "published_at": "2026-10-22T20:52:46.000Z",
   "detected_at": "2026-10-22T20:54:17.583Z",
   "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-22T20:52:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "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-6d6e2aa02f0937a917b37736",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-6d6e2aa02f0937a917b37736",
   "quote_text": "Lazio are priced at 1.95 to win the opening half.",
   "fragment_from": 3051,
   "fragment_to": 3100,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
    "material_removed": false
   },
   "published_at": "2026-10-22T20:52:46.000Z",
   "detected_at": "2026-10-22T20:54:17.583Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-1dca3b8123af",
    "display_name": "Lazio — Parma",
    "competition_name": "Serie A",
    "starts_at": "2026-10-24T18:45:00.000Z",
    "url": "/football/matches/lazio-vs-parma-2026-10-24/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "1X2, match result, first half",
   "outcome_label": "Lazio",
   "odds_set": {
    "by_author": "1.95",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T20:52:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result, first half",
    "choice": "Lazio",
    "author_odds": "1.95",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "first_half",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result, first half: Lazio at 1.95"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Lazio 2-1 Parma."
   },
   "settlements": [
    {
     "operation_id": "9355ebcf244c5cb9809000a3dad63809c9759ac3bf37fa3072a6b4f7e30d6c8e",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result, first half",
     "choice": "Lazio",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "166d111ebcd416941c2076db6c8509cc3837b584719a1d4bac33ad364f2b3d85",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result, first half",
     "choice": "Lazio",
     "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": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-90502b16f8617c289fc02e2c",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-90502b16f8617c289fc02e2c",
   "quote_text": "Over 2.5 goals has been best priced at 1.91, which presents a tempting offer.",
   "fragment_from": 3172,
   "fragment_to": 3249,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
    "material_removed": false
   },
   "published_at": "2026-10-22T20:52:46.000Z",
   "detected_at": "2026-10-22T20:54:17.583Z",
   "executed_at": "2026-10-24T00:48:01.022Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-1dca3b8123af",
    "display_name": "Lazio — Parma",
    "competition_name": "Serie A",
    "starts_at": "2026-10-24T18:45:00.000Z",
    "url": "/football/matches/lazio-vs-parma-2026-10-24/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.91",
    "our_snapshot": "1.8800",
    "our_snapshot_at": "2026-10-22T20:52:39.806Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 8800,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T20:52:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.91",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 1.91"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Lazio 2-1 Parma."
   },
   "settlements": [
    {
     "operation_id": "83f0854526339cf4512e33b19fbac1b1b8b41e7aeeb01186bab260fcd8041b36",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.91",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9100,
     "executed_at": "2026-10-24T00:48:00.682Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "8bf8e4eb401a81c05bbadf91a96620a24d5ccc798c59ba488e24ff02d0c61683",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.8800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8800,
     "executed_at": "2026-10-24T00:48:01.022Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-046457de2fc45e0546f09b64",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-046457de2fc45e0546f09b64",
   "quote_text": "A combination of Lazio win and both teams to score at 3.50 could be an excellent bet",
   "fragment_from": 2838,
   "fragment_to": 2922,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
    "material_removed": false
   },
   "published_at": "2026-10-22T20:52:46.000Z",
   "detected_at": "2026-10-22T20:54:17.583Z",
   "executed_at": "2026-10-24T00:48:00.664Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-1dca3b8123af",
    "display_name": "Lazio — Parma",
    "competition_name": "Serie A",
    "starts_at": "2026-10-24T18:45:00.000Z",
    "url": "/football/matches/lazio-vs-parma-2026-10-24/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "Lazio win, both teams to score: yes",
   "odds_set": {
    "by_author": "3.5",
    "our_snapshot": "3.4500",
    "our_snapshot_at": "2026-10-22T20:57:41.459Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 24500,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T20:52:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Match result and both teams to score",
    "choice": "Lazio win, both teams to score: yes",
    "author_odds": "3.5",
    "market_key": "both_teams_score_and_result",
    "choice_key": "1-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: Lazio win, both teams to score: yes at 3.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Lazio 2-1 Parma."
   },
   "settlements": [
    {
     "operation_id": "e14270f607a041bcac237fcad893882eb5bb2d6f264f74537c937d03b23b54e1",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Lazio win, both teams to score: yes",
     "decimal_odds": "3.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 25000,
     "executed_at": "2026-10-24T00:48:00.580Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "7d03a59e84cad979125d5e4a0ff4e46ccdebff235aba0871163ac24f5fc26424",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Match result and both teams to score",
     "choice": "Lazio win, both teams to score: yes",
     "decimal_odds": "3.4500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 24500,
     "executed_at": "2026-10-24T00:48:00.664Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-70dba6b06e40d48f7af71cb9",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-70dba6b06e40d48f7af71cb9",
   "quote_text": "Whispers predicts: Lazio 2-1 Parma",
   "fragment_from": 2664,
   "fragment_to": 2698,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
    "material_removed": false
   },
   "published_at": "2026-10-22T20:52:46.000Z",
   "detected_at": "2026-10-22T20:54:17.583Z",
   "executed_at": "2026-10-24T00:47:59.630Z",
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-1dca3b8123af",
    "display_name": "Lazio — Parma",
    "competition_name": "Serie A",
    "starts_at": "2026-10-24T18:45:00.000Z",
    "url": "/football/matches/lazio-vs-parma-2026-10-24/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Lazio 2-1 Parma",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "7.9000",
    "our_snapshot_at": "2026-10-22T20:52:39.806Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 69000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T20:52:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "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": "Lazio 2-1 Parma",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Lazio 2-1 Parma"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Matched: the final score was Lazio 2-1 Parma."
   },
   "settlements": [
    {
     "operation_id": "5b2af432909f49c92a23c78dcc4b72f5cebae755e5c5def2b63131fc3bafd094",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Lazio 2-1 Parma",
     "decimal_odds": "7.9000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 69000,
     "executed_at": "2026-10-24T00:47:59.630Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "9e61a1a6c5cbc64b9d9d4529a91051d953846f236d5a8b7df9f5d58566a5a96c",
     "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": "Lazio",
     "decimal_odds": "1.4000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4000,
     "executed_at": "2026-10-24T00:48:00.231Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1669ee04785f067ab1c230e6",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-1669ee04785f067ab1c230e6",
   "quote_text": "HT loser: Parma",
   "fragment_from": 167,
   "fragment_to": 182,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
    "material_removed": false
   },
   "published_at": "2026-10-22T20:52:46.000Z",
   "detected_at": "2026-10-22T20:54:17.583Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "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-22T20:52:46.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "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-e12ffb400ed9f4d5362b685b",
   "url": "/evidence/?pick=n-e12ffb400ed9f4d5362b685b",
   "quote_text": "Napoli beating Bodo/Glimt 4-3 and Roma securing a convincing 4-0 win over Slovan Bratislava.",
   "fragment_from": 645,
   "fragment_to": 737,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:37:35.000Z",
   "detected_at": "2026-10-22T15:44:17.082Z",
   "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-22T15:37:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "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-8e21d45dbf0ab1c091414b4f",
   "url": "/evidence/?pick=n-8e21d45dbf0ab1c091414b4f",
   "quote_text": "David Neres, Alisson Santos, Costantino Favasuli and Alessandro Buongiorno all currently sidelined",
   "fragment_from": 1754,
   "fragment_to": 1852,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:37:35.000Z",
   "detected_at": "2026-10-22T15:44:17.082Z",
   "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-22T15:37:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "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-b050fd3a0f2fe75b24a438dd",
   "url": "/evidence/?pick=n-b050fd3a0f2fe75b24a438dd",
   "quote_text": "another stalemate at 3.10 could be worth backing.",
   "fragment_from": 2866,
   "fragment_to": 2915,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:37:35.000Z",
   "detected_at": "2026-10-22T15:44:17.082Z",
   "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-22T15:37:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "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-11811138a4572dcdaab96646",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-11811138a4572dcdaab96646",
   "quote_text": "> Roma to score first at 2.00 | Likelihood: High",
   "fragment_from": 3387,
   "fragment_to": 3435,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:37:35.000Z",
   "detected_at": "2026-10-22T15:44:17.082Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-22T15:37:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "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-2f0ac3b38641d4992ca93d76",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-2f0ac3b38641d4992ca93d76",
   "quote_text": "> Under 2.5 goals at 1.95 | Likelihood: Medium",
   "fragment_from": 3339,
   "fragment_to": 3385,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:37:35.000Z",
   "detected_at": "2026-10-22T15:44:17.082Z",
   "executed_at": "2026-11-07T12:23:31.321Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-eb0fa85672d7",
    "display_name": "SSC Napoli — AS Roma",
    "competition_name": "Serie A",
    "starts_at": "2026-10-24T16:00:00.000Z",
    "url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
    "scoreline": "3-3",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "under 2.5",
   "odds_set": {
    "by_author": "1.95",
    "our_snapshot": "1.9434",
    "our_snapshot_at": "2026-10-22T15:39:17.566Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T15:37:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "under 2.5",
    "author_odds": "1.95",
    "market_key": "total",
    "choice_key": "under",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: under 2.5 at 1.95"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was SSC Napoli 3-3 AS Roma."
   },
   "settlements": [
    {
     "operation_id": "a052ea295803a1a38b69bb350f4937d6eef822b56baa5e2c2d67d81ebd58ad51",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.95",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T12:23:31.105Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "59bcc6bfe6d21b7e33b10674b331b4fceef20b4ec07cb8aa2f1c4d7b7c36f9af",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.9434",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T12:23:31.321Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-8c1657ddac8233f3002bad9d",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-8c1657ddac8233f3002bad9d",
   "quote_text": "> Both teams to score at 1.67 | Likelihood: High",
   "fragment_from": 3289,
   "fragment_to": 3337,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:37:35.000Z",
   "detected_at": "2026-10-22T15:44:17.082Z",
   "executed_at": "2026-10-24T00:50:50.000Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-eb0fa85672d7",
    "display_name": "SSC Napoli — AS Roma",
    "competition_name": "Serie A",
    "starts_at": "2026-10-24T16:00:00.000Z",
    "url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
    "scoreline": "3-3",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.67",
    "our_snapshot": "1.6452",
    "our_snapshot_at": "2026-10-22T15:39:17.566Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 6452,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T15:37:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.67",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.67"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was SSC Napoli 3-3 AS Roma."
   },
   "settlements": [
    {
     "operation_id": "edd842fe69e1abf31184bd0049a09a6a162dd1dd909f70a345ac54825a9e5f5b",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.67",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6700,
     "executed_at": "2026-10-24T00:50:49.039Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "7aaea535668c8f26738dcd9e3387e929282a2402583dd3f846a1c73c31a34b06",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.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-24T00:50:50.000Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-e2f08fc2c786fcc8168d1d1d",
   "url": "/evidence/?pick=n-e2f08fc2c786fcc8168d1d1d",
   "quote_text": "Read our prediction, preview and betting tips for the game below, and make sure to check out our today",
   "fragment_from": 637,
   "fragment_to": 739,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
    "material_removed": false
   },
   "published_at": "2026-10-21T10:28:38.000Z",
   "detected_at": "2026-10-21T10:44:17.343Z",
   "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-21T10:28:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "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-ef9fd0163342d154fb6729d0",
   "url": "/evidence/?pick=n-ef9fd0163342d154fb6729d0",
   "quote_text": "While Torino arrive with good form, the fixture has produced three low scoring draws in the past six",
   "fragment_from": 2558,
   "fragment_to": 2658,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
    "material_removed": false
   },
   "published_at": "2026-10-21T10:28:38.000Z",
   "detected_at": "2026-10-21T10:44:17.343Z",
   "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-21T10:28:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "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-1d78a0c122c299cf4c5a882e",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-1d78a0c122c299cf4c5a882e",
   "quote_text": "Each of the last six meetings between the two sides has produced two goals or fewer, making Under 2.5 goals at 1.80 an appealing betting option.",
   "fragment_from": 2921,
   "fragment_to": 3065,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
    "material_removed": false
   },
   "published_at": "2026-10-21T10:28:38.000Z",
   "detected_at": "2026-10-21T10:44:17.343Z",
   "executed_at": "2026-10-23T00:45:03.450Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-d322079b35a0",
    "display_name": "Torino — Monza",
    "competition_name": "Serie A",
    "starts_at": "2026-10-23T18:45:00.000Z",
    "url": "/football/matches/torino-vs-monza-2026-10-23/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "under 2.5",
   "odds_set": {
    "by_author": "1.8",
    "our_snapshot": "1.7576",
    "our_snapshot_at": "2026-10-21T10:48:51.071Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-21T10:28:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "under 2.5",
    "author_odds": "1.8",
    "market_key": "total",
    "choice_key": "under",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: under 2.5 at 1.8"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Torino 3-2 Monza."
   },
   "settlements": [
    {
     "operation_id": "48bc7a5f5d4406c4f321d65e04db0b300ac6ec71b8223f4e8f182ede47a2739f",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.8",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T00:45:02.902Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "5c1d4b11c54d6eb009c2949f24c6bce4542e38d63b504a69b4912431fd1c5d7d",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.7576",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T00:45:03.450Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-14019765e50788e80d7edfac",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-14019765e50788e80d7edfac",
   "quote_text": "Six of Monza's last seven matches have seen goals at both ends. Therefore, BTTS – Yes at 1.80 looks a tempting offer.",
   "fragment_from": 2802,
   "fragment_to": 2919,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
    "material_removed": false
   },
   "published_at": "2026-10-21T10:28:38.000Z",
   "detected_at": "2026-10-21T10:44:17.343Z",
   "executed_at": "2026-10-23T00:45:02.873Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-d322079b35a0",
    "display_name": "Torino — Monza",
    "competition_name": "Serie A",
    "starts_at": "2026-10-23T18:45:00.000Z",
    "url": "/football/matches/torino-vs-monza-2026-10-23/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.8",
    "our_snapshot": "1.7519",
    "our_snapshot_at": "2026-10-21T10:48:51.071Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 7519,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-21T10:28:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.8",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.8"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Torino 3-2 Monza."
   },
   "settlements": [
    {
     "operation_id": "9982d8bf315953181468bd4e818d3ba29a7deea0b50901d07206edc266bc1142",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.8",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8000,
     "executed_at": "2026-10-23T00:45:02.520Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "c08d9692b8e7b0d6a122ff19fc76b12207645254243007d08a6a947df0b45663",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.7519",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7519,
     "executed_at": "2026-10-23T00:45:02.873Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-12010d07d42896dc4f19c5c7",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-12010d07d42896dc4f19c5c7",
   "quote_text": "The Bull have scored first in eight of their last nine matches against Monza, and they are backed to net the opening goal at 1.80.",
   "fragment_from": 2670,
   "fragment_to": 2800,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
    "material_removed": false
   },
   "published_at": "2026-10-21T10:28:38.000Z",
   "detected_at": "2026-10-21T10:44:17.343Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-21T10:28:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "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-7bf63e82d8cea5c6ae457ba9",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-7bf63e82d8cea5c6ae457ba9",
   "quote_text": "Whispers predicts: Torino 1-1 Monza",
   "fragment_from": 2521,
   "fragment_to": 2556,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
    "material_removed": false
   },
   "published_at": "2026-10-21T10:28:38.000Z",
   "detected_at": "2026-10-21T10:44:17.343Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-d322079b35a0",
    "display_name": "Torino — Monza",
    "competition_name": "Serie A",
    "starts_at": "2026-10-23T18:45:00.000Z",
    "url": "/football/matches/torino-vs-monza-2026-10-23/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Torino 1-1 Monza",
   "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-21T10:28:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "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": "Torino 1-1 Monza",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Torino 1-1 Monza"
   },
   "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 Torino 3-2 Monza."
   },
   "settlements": [
    {
     "operation_id": "ef5b52e57d8d69a6d17b7a7f1e4164c448a2657624d9fe30041278e568e4b699",
     "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.4000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T00:45:02.497Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b70a5a7a90a03fee79827359",
   "url": "/evidence/?pick=n-b70a5a7a90a03fee79827359",
   "quote_text": "A draw at 3.10 could be highly on the cards.",
   "fragment_from": 2763,
   "fragment_to": 2807,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
    "material_removed": false
   },
   "published_at": "2026-10-18T06:04:38.000Z",
   "detected_at": "2026-10-18T06:14:14.620Z",
   "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-18T06:04:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "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-5c4771b2d6d10a6b5e797f81",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-5c4771b2d6d10a6b5e797f81",
   "quote_text": "Torino to score first at 1.91 | Likelihood: Medium",
   "fragment_from": 3238,
   "fragment_to": 3288,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
    "material_removed": false
   },
   "published_at": "2026-10-18T06:04:38.000Z",
   "detected_at": "2026-10-18T06:14:14.620Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-18T06:04:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "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-ac9ce2921e3bdab476bea931",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-ac9ce2921e3bdab476bea931",
   "quote_text": "Under 2.5 goals at 1.60 | Likelihood: High",
   "fragment_from": 3192,
   "fragment_to": 3234,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
    "material_removed": false
   },
   "published_at": "2026-10-18T06:04:38.000Z",
   "detected_at": "2026-10-18T06:14:14.620Z",
   "executed_at": "2026-11-07T03:23:13.305Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-550a1d932859",
    "display_name": "Parma — Torino",
    "competition_name": "Serie A",
    "starts_at": "2026-10-19T18:45:00.000Z",
    "url": "/football/matches/parma-vs-torino-2026-10-19/",
    "scoreline": "0-3",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "under 2.5",
   "odds_set": {
    "by_author": "1.6",
    "our_snapshot": "1.5814",
    "our_snapshot_at": "2026-10-18T06:19:47.156Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T06:04:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "under 2.5",
    "author_odds": "1.6",
    "market_key": "total",
    "choice_key": "under",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: under 2.5 at 1.6"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Parma 0-3 Torino."
   },
   "settlements": [
    {
     "operation_id": "5ebc061e1a25014155f866df207c08e5f67bef28660b85da139e5ae7f7322136",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.6",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T03:23:08.760Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e4c63c6b7a8f1603bc7ccfd65755c41411361851bedd68e845209550d6c2d9c9",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "decimal_odds": "1.5814",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T03:23:13.305Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7026f6f1ecc6efdbf5944070",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-7026f6f1ecc6efdbf5944070",
   "quote_text": "Both teams to score – Yes at 2.00 | Likelihood: Medium",
   "fragment_from": 3134,
   "fragment_to": 3188,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
    "material_removed": false
   },
   "published_at": "2026-10-18T06:04:38.000Z",
   "detected_at": "2026-10-18T06:14:14.620Z",
   "executed_at": "2026-10-18T06:29:51.623Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-550a1d932859",
    "display_name": "Parma — Torino",
    "competition_name": "Serie A",
    "starts_at": "2026-10-19T18:45:00.000Z",
    "url": "/football/matches/parma-vs-torino-2026-10-19/",
    "scoreline": "0-3",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "2",
    "our_snapshot": "1.9174",
    "our_snapshot_at": "2026-10-18T06:19:47.156Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T06:04:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "2",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 2"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Parma 0-3 Torino."
   },
   "settlements": [
    {
     "operation_id": "8a9fcc6c095267280e1bc4652894ff6a3b1d2267b6956e2d8b86ff4e13fe88a1",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "2",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-18T06:29:50.196Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "a04a4137e6f891686bff0b5be081edd9d6b71aaa1d7c436fac7a9c7f5b0c8748",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.9174",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-18T06:29:51.623Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-d1bc92b4adefb82b2abe224b",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-d1bc92b4adefb82b2abe224b",
   "quote_text": "Whispers predicts: Parma 1-1 Torino",
   "fragment_from": 2632,
   "fragment_to": 2667,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
    "material_removed": false
   },
   "published_at": "2026-10-18T06:04:38.000Z",
   "detected_at": "2026-10-18T06:14:14.620Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-550a1d932859",
    "display_name": "Parma — Torino",
    "competition_name": "Serie A",
    "starts_at": "2026-10-19T18:45:00.000Z",
    "url": "/football/matches/parma-vs-torino-2026-10-19/",
    "scoreline": "0-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Parma 1-1 Torino",
   "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-18T06:04:38.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "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": "Parma 1-1 Torino",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Parma 1-1 Torino"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Parma 0-3 Torino."
   },
   "settlements": [
    {
     "operation_id": "e6a489bee5d2e171626d16918f9696e2276b42ff6ed19183dde178ac44de9cad",
     "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.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-18T06:29:49.031Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-dacb66f7904b33875f4d0f48",
   "url": "/evidence/?pick=n-dacb66f7904b33875f4d0f48",
   "quote_text": "Matteo Pessina and Jan Ziolkowski are both sidelined with injuries.",
   "fragment_from": 1774,
   "fragment_to": 1841,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
    "material_removed": false
   },
   "published_at": "2026-10-17T21:42:31.000Z",
   "detected_at": "2026-10-17T21:54:13.149Z",
   "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-17T21:42:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "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-a707e7333e50c69ce727d4e3",
   "url": "/evidence/?pick=n-a707e7333e50c69ce727d4e3",
   "quote_text": "Lorenzo Lucchesi is suspended after receiving a red card against Lazio",
   "fragment_from": 1696,
   "fragment_to": 1766,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
    "material_removed": false
   },
   "published_at": "2026-10-17T21:42:31.000Z",
   "detected_at": "2026-10-17T21:54:13.149Z",
   "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-17T21:42:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "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-da9715770be34a3ab1ec3f9e",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-da9715770be34a3ab1ec3f9e",
   "quote_text": "making Over 2.5 goals at 2.10 an appealing betting option.",
   "fragment_from": 3205,
   "fragment_to": 3263,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
    "material_removed": false
   },
   "published_at": "2026-10-17T21:42:31.000Z",
   "detected_at": "2026-10-17T21:54:13.149Z",
   "executed_at": "2026-10-19T04:58:16.512Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-6ecbe80b1f6a",
    "display_name": "Monza — Cagliari",
    "competition_name": "Serie A",
    "starts_at": "2026-10-19T16:30:00.000Z",
    "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "2.1",
    "our_snapshot": "2.1100",
    "our_snapshot_at": "2026-10-17T22:01:23.619Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 11100,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-17T21:42:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "2.1",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 2.1"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Monza 4-0 Cagliari."
   },
   "settlements": [
    {
     "operation_id": "546d9d687b9bc1b86665c86296feb2940c473f130fc4404bf4514f21ad529085",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "2.1",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11000,
     "executed_at": "2026-10-19T04:58:14.155Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "946ddf573f5ef04c76359749985e0af00c23f4e2dee864c3acbfb7171fcf4c47",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "2.1100",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11100,
     "executed_at": "2026-10-19T04:58:16.512Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3ebfd52fb768af16e323ccf8",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-3ebfd52fb768af16e323ccf8",
   "quote_text": "making BTTS – Yes at 1.85 a tempting offer.",
   "fragment_from": 3091,
   "fragment_to": 3134,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
    "material_removed": false
   },
   "published_at": "2026-10-17T21:42:31.000Z",
   "detected_at": "2026-10-17T21:54:13.149Z",
   "executed_at": "2026-10-19T04:58:14.003Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-6ecbe80b1f6a",
    "display_name": "Monza — Cagliari",
    "competition_name": "Serie A",
    "starts_at": "2026-10-19T16:30:00.000Z",
    "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.85",
    "our_snapshot": "1.7969",
    "our_snapshot_at": "2026-10-17T22:01:23.619Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-17T21:42:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.85",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.85"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Monza 4-0 Cagliari."
   },
   "settlements": [
    {
     "operation_id": "f269981a4d79b145506701bcca55cd5c0768bbe6de8a92971394575d475bdef6",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.85",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-19T04:58:12.949Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "6ecc3d0d54673243b5cecd42cbb2de65fb90b4fb4a0c7016869f501e43046e32",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.7969",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-19T04:58:14.003Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ec44ab825fd0f5876cc33463",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-ec44ab825fd0f5876cc33463",
   "quote_text": "backed to break the deadlock again at 2.25 against Monza.",
   "fragment_from": 2962,
   "fragment_to": 3019,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
    "material_removed": false
   },
   "published_at": "2026-10-17T21:42:31.000Z",
   "detected_at": "2026-10-17T21:54:13.149Z",
   "executed_at": null,
   "statement_class": "priced",
   "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-17T21:42:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "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-defcd0cd7c45ae1fa495e928",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-defcd0cd7c45ae1fa495e928",
   "quote_text": "making odds of 3.10 to secure all three points an appealing option.",
   "fragment_from": 2807,
   "fragment_to": 2874,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
    "material_removed": false
   },
   "published_at": "2026-10-17T21:42:31.000Z",
   "detected_at": "2026-10-17T21:54:13.149Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-6ecbe80b1f6a",
    "display_name": "Monza — Cagliari",
    "competition_name": "Serie A",
    "starts_at": "2026-10-19T16:30:00.000Z",
    "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Cagliari",
   "odds_set": {
    "by_author": "3.1",
    "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-17T21:42:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Cagliari",
    "author_odds": "3.1",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Cagliari at 3.1"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Monza 4-0 Cagliari."
   },
   "settlements": [
    {
     "operation_id": "b98bbe91a6162215defee2d72c5bb1315be7dcb01f4b308fb07ae549461cc43a",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Cagliari",
     "decimal_odds": "3.1",
     "odds_role": "author_price",
     "stake_hundredths": null,
     "status": "cancelled",
     "status_text": "Cancelled: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-10-19T04:58:16.600Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "f3120fd89a0fcba69880f721140d3ff6940ae9c3ee3aabd316c3e3d913097a49",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Cagliari",
     "decimal_odds": "3.1000",
     "odds_role": "market_price",
     "stake_hundredths": null,
     "status": "cancelled",
     "status_text": "Cancelled: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-10-19T04:58:16.634Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-01f588ad48926c857d61c96a",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-01f588ad48926c857d61c96a",
   "quote_text": "Whispers predicts: Monza 1-2 Cagliari",
   "fragment_from": 2631,
   "fragment_to": 2668,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
    "material_removed": false
   },
   "published_at": "2026-10-17T21:42:31.000Z",
   "detected_at": "2026-10-17T21:54:13.149Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-6ecbe80b1f6a",
    "display_name": "Monza — Cagliari",
    "competition_name": "Serie A",
    "starts_at": "2026-10-19T16:30:00.000Z",
    "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Monza 1-2 Cagliari",
   "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-17T21:42:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "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": "Monza 1-2 Cagliari",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Monza 1-2 Cagliari"
   },
   "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 Monza 4-0 Cagliari."
   },
   "settlements": [
    {
     "operation_id": "fee2e1b72733449fb7ae712c96a73164629f9706a5d6ab76f9f50312fd08d00b",
     "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": "Cagliari",
     "decimal_odds": "3.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-19T04:58:12.791Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-939ed9bab7bff27a731eb473",
   "url": "/evidence/?pick=n-939ed9bab7bff27a731eb473",
   "quote_text": "Elmas is suspended, while Odilon Kossounou, Kamaldeen Sulemana and Isak Hien are all injured",
   "fragment_from": 2379,
   "fragment_to": 2471,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fd560f37653cf44b8d9b7ae2c0aee26a92696681c2d9fd213a854fbe9920655e",
    "material_removed": false
   },
   "published_at": "2026-10-17T05:46:27.000Z",
   "detected_at": "2026-10-17T05:54:13.015Z",
   "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-17T05:46:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T05:46:27.000Z",
    "detected_at": "2026-10-17T05:54:13.015Z",
    "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-ae2a6d0b5fac2b44e29ed084",
   "url": "/evidence/?pick=n-ae2a6d0b5fac2b44e29ed084",
   "quote_text": "Matteo Gabbia and Alexis Saelemaekers have been ruled out until next year",
   "fragment_from": 1762,
   "fragment_to": 1835,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fd560f37653cf44b8d9b7ae2c0aee26a92696681c2d9fd213a854fbe9920655e",
    "material_removed": false
   },
   "published_at": "2026-10-17T05:46:27.000Z",
   "detected_at": "2026-10-17T05:54:13.015Z",
   "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-17T05:46:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T05:46:27.000Z",
    "detected_at": "2026-10-17T05:54:13.015Z",
    "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-0639200fc64edab2e56232a5",
   "url": "/evidence/?pick=n-0639200fc64edab2e56232a5",
   "quote_text": "Whispers predicts: AC Milan 2-2 Atalanta",
   "fragment_from": 2740,
   "fragment_to": 2780,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fd560f37653cf44b8d9b7ae2c0aee26a92696681c2d9fd213a854fbe9920655e",
    "material_removed": false
   },
   "published_at": "2026-10-17T05:46:27.000Z",
   "detected_at": "2026-10-17T05:54:13.015Z",
   "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-17T05:46:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T05:46:27.000Z",
    "detected_at": "2026-10-17T05:54:13.015Z",
    "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-9428c3613c0aaa5813f76485",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-9428c3613c0aaa5813f76485",
   "quote_text": "BTTS – Yes at 1.73 an attractive bet",
   "fragment_from": 3352,
   "fragment_to": 3388,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
    "display_name": null,
    "speaker": "Saikat Mandal",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fd560f37653cf44b8d9b7ae2c0aee26a92696681c2d9fd213a854fbe9920655e",
    "material_removed": false
   },
   "published_at": "2026-10-17T05:46:27.000Z",
   "detected_at": "2026-10-17T05:54:13.015Z",
   "executed_at": "2026-11-07T01:58:50.514Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-e6b8273ecffa",
    "display_name": "AC Milan — Atalanta",
    "competition_name": "Serie A",
    "starts_at": "2026-10-18T16:00:00.000Z",
    "url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.73",
    "our_snapshot": "1.6452",
    "our_snapshot_at": "2026-10-17T05:51:25.207Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 6452,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-17T05:46:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-17T05:46:27.000Z",
    "detected_at": "2026-10-17T05:54:13.015Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.73",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.73"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was AC Milan 3-2 Atalanta."
   },
   "settlements": [
    {
     "operation_id": "16da31a6eef04260c590c1a3d6d5dee8bf75edd6d2451fafdded9a93ae558bb2",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.73",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7300,
     "executed_at": "2026-11-07T01:58:49.972Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "ca21493f6b4bb8aacbb730cb01284bf9507601eb123677dfff1646c51d12b7e1",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.6452",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6452,
     "executed_at": "2026-11-07T01:58:50.514Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Saikat Mandal",
    "publisher": "Football Whispers",
    "forecaster": "Saikat Mandal",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 1,
  "service": 0,
  "ruleset_version": "3"
 },
 "standing": {
  "titles": [
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "rationale": "Correct score 2–1 called before the match; 6 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": "Saikat Mandal · Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/saikat-mandal/#title-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ead51241226b1f2185df2120/cs-10-all-event-m-light.svg\" alt=\"Saikat Mandal · Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026 · Tracked by Forecast Record\" width=\"786\" 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": "Exact score 2–1 · 25 Oct",
    "scope_words": null,
    "title_id": "zk-c7d9e734093ff0e81412",
    "evidence_items": [
     {
      "nid": "n-54d1634a00fa6622621a6418",
      "data": "2026-10-25",
      "match": "Inter v Fiorentina",
      "said_text": "Correct score: Inter 2-1 Fiorentina",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "6 other tipsters and sources named an exact score on this match, 2 right",
      "url": "/authors/saikat-mandal/picks/9/#pick-n-54d1634a00fa6622621a6418"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1069,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1069,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 786,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 786,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 614,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 614,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ead51241226b1f2185df2120/cs-10-all-event-card.svg"
    },
    "profile_anchor": "title-c7d9e734093f",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–1 · Lazio v Parma · 24 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-845a63f46c",
    "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 · Lazio v Parma · 24 Oct 2026",
    "rationale": "Correct score 2–1 called before the match; 10 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-845a63f46c-event",
    "alt": "Saikat Mandal · Exact score 2–1 · Lazio v Parma · 24 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/saikat-mandal/#title-exact-score-called-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-m-light.svg\" alt=\"Saikat Mandal · Exact score 2–1 · Lazio v Parma · 24 Oct 2026 · Tracked by Forecast Record\" width=\"746\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 22 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-24",
    "evidence_through": "2026-10-24",
    "earned_at": "2026-10-24",
    "published_at": "2026-10-25",
    "visible_until": "2027-01-22",
    "badge_label": "Exact score 2–1 · 24 Oct",
    "scope_words": null,
    "title_id": "zk-845a63f46cf71babb1ed",
    "evidence_items": [
     {
      "nid": "n-70dba6b06e40d48f7af71cb9",
      "data": "2026-10-24",
      "match": "Lazio v Parma",
      "said_text": "Correct score: Lazio 2-1 Parma",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "10 other tipsters and sources named an exact score on this match, 2 right",
      "url": "/authors/saikat-mandal/picks/8/#pick-n-70dba6b06e40d48f7af71cb9"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1014,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1014,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 746,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 746,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 582,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 582,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ead51241226b1f2185df2120/cs-10-z-845a63f46c-event-card.svg"
    },
    "profile_anchor": "title-845a63f46cf7",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.126582,
     "one_in": 8,
     "log10": -0.9,
     "words": "1 in 8",
     "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-exact-score-called-exact-score-called"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–2 · Aston Villa v Brentford · 10 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-b80580973e",
    "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–2 · Aston Villa v Brentford · 10 Oct 2026",
    "rationale": "Correct score 2–2 called before the match; 4 other tipsters and sources named an exact score on this match, 0 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-b80580973e-event",
    "alt": "Saikat Mandal · Exact score 2–2 · Aston Villa v Brentford · 10 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/saikat-mandal/#title-exact-score-called-exact-score-called-2\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-m-light.svg\" alt=\"Saikat Mandal · Exact score 2–2 · Aston Villa v Brentford · 10 Oct 2026 · Tracked by Forecast Record\" width=\"827\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 8 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-10",
    "evidence_through": "2026-10-10",
    "earned_at": "2026-10-10",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-08",
    "badge_label": "Exact score 2–2 · 10 Oct",
    "scope_words": null,
    "title_id": "zk-b80580973e7d023d4b9d",
    "evidence_items": [
     {
      "nid": "n-7757a483450d41f0f082893d",
      "data": "2026-10-10",
      "match": "Aston Villa v Brentford",
      "said_text": "Correct score: Aston Villa 2-2 Brentford",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "4 other tipsters and sources named an exact score on this match, 0 right",
      "url": "/authors/saikat-mandal/picks/3/#pick-n-7757a483450d41f0f082893d"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1124,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1124,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 827,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 827,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 645,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 645,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ead51241226b1f2185df2120/cs-10-z-b80580973e-event-card.svg"
    },
    "profile_anchor": "title-b80580973e7d",
    "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-2"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–1 · Remo v Grêmio · 7 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-a2f6d39deb",
    "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 · Remo v Grêmio · 7 Oct 2026",
    "rationale": "Correct score 1–1 called before the match. 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-a2f6d39deb-event",
    "alt": "Saikat Mandal · Exact score 1–1 · Remo v Grêmio · 7 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/saikat-mandal/#title-exact-score-called-exact-score-called-3\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-m-light.svg\" alt=\"Saikat Mandal · Exact score 1–1 · Remo v Grêmio · 7 Oct 2026 · Tracked by Forecast Record\" width=\"738\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 5 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-07",
    "evidence_through": "2026-10-07",
    "earned_at": "2026-10-08",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-05",
    "badge_label": "Exact score 1–1 · 7 Oct",
    "scope_words": null,
    "title_id": "zk-a2f6d39deb04bf2dcdfe",
    "evidence_items": [
     {
      "nid": "n-ae6b256e1f4ad0cf1f54e245",
      "data": "2026-10-07",
      "match": "Remo v Grêmio",
      "said_text": "Correct score: Remo 1-1 Grêmio",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": null,
      "url": "/authors/saikat-mandal/picks/3/#pick-n-ae6b256e1f4ad0cf1f54e245"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1003,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1003,
       "height": 40,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 738,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 738,
       "height": 28,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 575,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 575,
       "height": 20,
       "url": "/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ead51241226b1f2185df2120/cs-10-z-a2f6d39deb-event-card.svg"
    },
    "profile_anchor": "title-a2f6d39deb04",
    "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-3"
   }
  ],
  "publication_mode": "top20",
  "empty_reason": null,
  "rules_version": "catalog-1",
  "insufficient": [],
  "badges_on_page": 0,
  "header_titles": [
   {
    "title_id": "zk-c7d9e734093ff0e81412",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 2–1 · 25 Oct",
    "body": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-c7d9e734093f",
    "event_at": "2026-10-25",
    "url": "/titles/cs-10-exact-score-called/"
   },
   {
    "title_id": "zk-845a63f46cf71babb1ed",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 2–1 · 24 Oct",
    "body": "Exact score 2–1 · Lazio v Parma · 24 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-845a63f46cf7",
    "event_at": "2026-10-24",
    "url": "/titles/cs-10-exact-score-called/"
   },
   {
    "title_id": "zk-b80580973e7d023d4b9d",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 2–2 · 10 Oct",
    "body": "Exact score 2–2 · Aston Villa v Brentford · 10 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-b80580973e7d",
    "event_at": "2026-10-10",
    "url": "/titles/cs-10-exact-score-called/"
   }
  ],
  "record_origin": [],
  "recent_record": [
   {
    "code_name": "CS-10",
    "body": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-c7d9e734093f"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 2–1 · Lazio v Parma · 24 Oct 2026",
    "event_at": "2026-10-24",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-845a63f46cf7"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 2–2 · Aston Villa v Brentford · 10 Oct 2026",
    "event_at": "2026-10-10",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-b80580973e7d"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 1–1 · Remo v Grêmio · 7 Oct 2026",
    "event_at": "2026-10-07",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-a2f6d39deb04"
   }
  ],
  "record_details": [],
  "history": []
 },
 "retro": null,
 "late": null,
 "price_vs_market": {
  "contract_version": "1",
  "threshold_percent": "5",
  "rows": [
   {
    "basis": "snapshot",
    "basis_words": "our market price for the same selection when we first recorded the pick (median of bookmakers in our price feed; failing that, the first price within 2 hours after, always before kick-off)",
    "basis_short": "Our market price when we first recorded the pick",
    "compared": 57,
    "above": 5,
    "above_share_percent": "8.8",
    "below": 0,
    "within": 52,
    "median_difference_percent": "2.1",
    "not_comparable": 0,
    "disputed": 0,
    "status": "calculated"
   }
  ],
  "examples": [
   {
    "url": "/authors/saikat-mandal/picks/3/#pick-n-1a35d9debace40df80368c10",
    "basis": "snapshot",
    "stated": "4.50",
    "market": "4.00",
    "difference_percent": "12.5"
   },
   {
    "url": "/authors/saikat-mandal/picks/3/#pick-n-a97db35e88a770fda8c4df62",
    "basis": "snapshot",
    "stated": "1.73",
    "market": "1.63",
    "difference_percent": "6.2"
   }
  ],
  "method": "Difference = the author's stated price ÷ the market price of the same selection − 1. A pick counts as above the market when the stated price is more than 5% higher. Each basis is its own comparison; they are never added together. A pair whose prices differ more than twofold is marked “price disputed”: it is probably not the same selection, so it is left out of this comparison and of every return at the author’s price until a manual check confirms the price. A price that the quoted text does not give is marked “price disputed” in the same way."
 },
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "footballwhispers.com",
   "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/"
  },
  "observed_from": "2026-09-24",
  "observed_to": "2026-10-24",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "market_price",
  "series": "Recorded before kick-off, at our recorded market price",
  "restored": false,
  "headline_kind": "live_snapshot",
  "headline_part": "live",
  "settled_picks": 57,
  "matches": 24,
  "void": 0,
  "net_points_hundredths": 185417,
  "staked_hundredths": 570000,
  "return_percent": "32.53",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-10-10",
  "period_to": "2026-10-25",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": false,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 57 settled live picks by Saikat Mandal before kick-off across 24 matches between 10 and 25 October 2026. At our recorded market prices these picks returned +32.5% on the total staked. Of the 162 predictions we hold for Saikat Mandal, 103 are linked to matches: 103 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "57",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "24",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "+1,854.17 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "+32.5%",
    "anchor": "/methodology/#roi",
    "note": "95% interval −9.2% to +78.5%"
   }
  ],
  "limitations": [
   "This page combines Saikat Mandal 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 Saikat Mandal publishes”."
  ],
  "other_series": [],
  "return_over_time": [
   {
    "date": "2026-10-10",
    "cumulative_points_hundredths": 33941,
    "n": 10
   },
   {
    "date": "2026-10-11",
    "cumulative_points_hundredths": 86775,
    "n": 14
   },
   {
    "date": "2026-10-12",
    "cumulative_points_hundredths": 60363,
    "n": 20
   },
   {
    "date": "2026-10-13",
    "cumulative_points_hundredths": 57882,
    "n": 22
   },
   {
    "date": "2026-10-14",
    "cumulative_points_hundredths": 37882,
    "n": 24
   },
   {
    "date": "2026-10-16",
    "cumulative_points_hundredths": 65382,
    "n": 27
   },
   {
    "date": "2026-10-17",
    "cumulative_points_hundredths": 59086,
    "n": 31
   },
   {
    "date": "2026-10-18",
    "cumulative_points_hundredths": 72655,
    "n": 33
   },
   {
    "date": "2026-10-19",
    "cumulative_points_hundredths": 53755,
    "n": 37
   },
   {
    "date": "2026-10-23",
    "cumulative_points_hundredths": 51274,
    "n": 39
   },
   {
    "date": "2026-10-24",
    "cumulative_points_hundredths": 148426,
    "n": 48
   },
   {
    "date": "2026-10-25",
    "cumulative_points_hundredths": 185417,
    "n": 57
   }
  ],
  "return_over_time_parts": {
   "live": {
    "part": "live",
    "label": "Recorded by us before kick-off",
    "series_code": "market_price",
    "price_rule": "Return at our recorded market price",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. Each pick was recorded by us before kick-off and settled after the match.",
    "settled_picks": 57,
    "matches": 24,
    "match_dates": 12,
    "period_from": "2026-10-10",
    "period_to": "2026-10-25",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": 185417,
    "low": {
     "date": "2026-10-10",
     "cumulative_points_hundredths": 33941,
     "after_picks": 10
    },
    "high": {
     "date": "2026-10-25",
     "cumulative_points_hundredths": 185417,
     "after_picks": 57
    },
    "line_drawn": true,
    "steps": [
     {
      "date": "2026-10-10",
      "cumulative_points_hundredths": 33941,
      "n": 10,
      "picks": 10
     },
     {
      "date": "2026-10-11",
      "cumulative_points_hundredths": 86775,
      "n": 14,
      "picks": 4
     },
     {
      "date": "2026-10-12",
      "cumulative_points_hundredths": 60363,
      "n": 20,
      "picks": 6
     },
     {
      "date": "2026-10-13",
      "cumulative_points_hundredths": 57882,
      "n": 22,
      "picks": 2
     },
     {
      "date": "2026-10-14",
      "cumulative_points_hundredths": 37882,
      "n": 24,
      "picks": 2
     },
     {
      "date": "2026-10-16",
      "cumulative_points_hundredths": 65382,
      "n": 27,
      "picks": 3
     },
     {
      "date": "2026-10-17",
      "cumulative_points_hundredths": 59086,
      "n": 31,
      "picks": 4
     },
     {
      "date": "2026-10-18",
      "cumulative_points_hundredths": 72655,
      "n": 33,
      "picks": 2
     },
     {
      "date": "2026-10-19",
      "cumulative_points_hundredths": 53755,
      "n": 37,
      "picks": 4
     },
     {
      "date": "2026-10-23",
      "cumulative_points_hundredths": 51274,
      "n": 39,
      "picks": 2
     },
     {
      "date": "2026-10-24",
      "cumulative_points_hundredths": 148426,
      "n": 48,
      "picks": 9
     },
     {
      "date": "2026-10-25",
      "cumulative_points_hundredths": 185417,
      "n": 57,
      "picks": 9
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 57 settled live picks by Saikat Mandal before kick-off across 24 matches between 10 and 25 October 2026. At our recorded market prices these picks returned +32.5% on the total staked. Of the 162 predictions we hold for Saikat Mandal, 103 are linked to matches: 103 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/saikat-mandal/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 162,
   "under_review": 0,
   "no_match_linked": 59,
   "proven_predictions": 103,
   "proven_checked": 101,
   "proven_measured": 86,
   "proven_dates": 17,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 103,
     "checked": 101,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 57,
      "void": 0,
      "matches": 24,
      "net_points_hundredths": 185417,
      "staked_hundredths": 570000,
      "return_percent": "32.53",
      "interval_low": "-9.20",
      "interval_high": "78.53",
      "interval_note": null,
      "period_from": "2026-10-10",
      "period_to": "2026-10-25",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "0.2",
      "checked_after_kickoff_picks": 22
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "author_price",
       "picks": 56,
       "return_main_percent": "20.79",
       "return_other_percent": "24.25",
       "settled_excluding_void": 56,
       "net_main_points_hundredths": 116417,
       "net_other_points_hundredths": 135800,
       "period_from": "2026-10-10",
       "period_to": "2026-10-25"
      },
      {
       "price": "Closing price",
       "series_code": "closing_live",
       "picks": 47,
       "return_main_percent": "10.17",
       "return_other_percent": "9.92",
       "settled_excluding_void": 47,
       "net_main_points_hundredths": 47817,
       "net_other_points_hundredths": 46607,
       "period_from": "2026-10-10",
       "period_to": "2026-10-25"
      }
     ],
     "score": {
      "score_forecasts": 29,
      "exact_hits": 4,
      "exact_rate": 13.8,
      "outcome_checked": 29,
      "outcome_hits": 17,
      "outcome_rate": 58.6,
      "baseline_matches": 21,
      "baseline_distinct_matches": 21,
      "outcome_hits_on_baseline": 9,
      "outcome_rate_on_baseline": 42.9,
      "favourite_hits": 12,
      "favourite_rate": 57.1,
      "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.",
       "4 of 29 score forecasts named the exact score (13.8%).",
       "The result implied by the named score was right in 9 of 21 matches; the market favourite was right in 12 of the same 21 matches.",
       "A pre-match market favourite is known for 21 of 29 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": 101,
      "priced": 57
     },
     "accuracy": {
      "picks": 57,
      "won": 36,
      "won_percent": "63.2",
      "implied_percent": "51.9",
      "left_out": 0,
      "by_market": [
       {
        "market": "Both teams to score",
        "won": 11,
        "picks": 18,
        "implied_percent": "58.8"
       },
       {
        "market": "Over/under goals",
        "won": 12,
        "picks": 18,
        "implied_percent": "59.3"
       },
       {
        "market": "Match result",
        "won": 5,
        "picks": 10,
        "implied_percent": "41.7"
       },
       {
        "market": "Result and both teams to score",
        "won": 4,
        "picks": 7,
        "implied_percent": "36.5"
       },
       {
        "market": "Corners over/under",
        "won": 2,
        "picks": 2,
        "implied_percent": "54.6"
       },
       {
        "market": "Other markets",
        "won": 2,
        "picks": 2,
        "implied_percent": "27.2"
       }
      ]
     },
     "reviewed_after": {
      "predictions": 8,
      "right": 2,
      "wrong": 6,
      "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": [
   "n-046457de2fc45e0546f09b64",
   "n-0cdd3931f16aab59cfdf2840",
   "n-0d4b9d2b577a88b8043fffbe",
   "n-0e76aafd479c8e482a354bcd",
   "n-13e9202d1d16ee0579a1d2ea",
   "n-14019765e50788e80d7edfac",
   "n-16cddcfc9db99239475cf455",
   "n-1a35d9debace40df80368c10",
   "n-1c183c3d2f4f57e3eb049e77",
   "n-1d78a0c122c299cf4c5a882e",
   "n-22810670398b6dcef707f0ce",
   "n-2eb9649793b14ae2e512a767",
   "n-2f0ac3b38641d4992ca93d76",
   "n-3259eb2a1234c2bce8f53be8",
   "n-3ebfd52fb768af16e323ccf8",
   "n-4055b3e7549da0426032c358",
   "n-551e3b5c6b4167f77799fa53",
   "n-57c42b179e8805e75c8d288c",
   "n-58c0021450afcfc8c1213986",
   "n-5bdad68ef4c94c4413458bf8",
   "n-604656af6f592efb2395c21b",
   "n-62298b79d7f5372c4365221c",
   "n-64db3ed8de34b6ae835b24dc",
   "n-690146226f199f7f8cd6fd9a",
   "n-6917b437913aa4b7cd4bfae5",
   "n-6a24d86b275b09de49ea99c2",
   "n-7026f6f1ecc6efdbf5944070",
   "n-70dba6b06e40d48f7af71cb9",
   "n-7307f7ec696ee290123dc865",
   "n-74f75830f49b5fd239261960",
   "n-7a4980fef8ef41f13cbbd800",
   "n-7ad09990e0aa40ebff7094f4",
   "n-7fef5afdbb381c3bdfeb6dac",
   "n-80616e5790a2e216d8581b64",
   "n-851d62b9093c2c62539c6d55",
   "n-8792452dfb52ab610bb054fb",
   "n-8c1657ddac8233f3002bad9d",
   "n-90502b16f8617c289fc02e2c",
   "n-9428c3613c0aaa5813f76485",
   "n-9572c07abb51f7bcdd361f50",
   "n-a3db84eeaffbd4cbb559f7d3",
   "n-a97db35e88a770fda8c4df62",
   "n-ac9ce2921e3bdab476bea931",
   "n-b38c01471cde449d496a382a",
   "n-bad146035c0acfe1a37f6c60",
   "n-bb04ec4cbe1cd986ef5d00ed",
   "n-be0d15e5d0c5783263b2bc61",
   "n-be469da15b5ef5d91dc86e6e",
   "n-bfa3bb789b95aa1debd631ff",
   "n-c21e57a3c6d989120376d5b6",
   "n-cb0f5f59ffd55e3ee0aad359",
   "n-da9715770be34a3ab1ec3f9e",
   "n-de6bfbbd1e9f719980e63e38",
   "n-e1218465eda364b824ad2ddb",
   "n-e755482c74564ce9bf56a5e7",
   "n-e8bc0b993f674895f974455a",
   "n-ed4f2f1ba5ee5856d9176739"
  ],
  "interval_low": "-9.20",
  "interval_high": "78.53",
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 10–25 October 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-09-24",
  "record_to": "2026-10-25"
 },
 "recorded_picks": [
  {
   "record_id": "n-16cddcfc9db99239475cf455",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-16cddcfc9db99239475cf455",
   "match": "SC Freiburg v FC Bayern München",
   "match_url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
   "kickoff": "2026-10-25T16:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 42.6,
   "market_code": "player_to_score",
   "author_said": "Player to score: Michael Olise to score at 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 14000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.5",
   "settled_price": "2.4000",
   "published_at": "2026-10-23T21:49:41.000Z",
   "recorded_at": "2026-10-23T21:54:17.185Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-16cddcfc9db99239475cf455",
    "quote_text": "> Michael Olise to score anytime at 2.50 | Likelihood: Medium",
    "fragment_from": 3449,
    "fragment_to": 3510,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
     "material_removed": false
    },
    "published_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "executed_at": "2026-10-24T13:28:52.770Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-215f38fae182",
     "display_name": "SC Freiburg — FC Bayern München",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-25T16:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Michael Olise to score",
    "odds_set": {
     "by_author": "2.5",
     "our_snapshot": "2.4000",
     "our_snapshot_at": "2026-10-23T21:51:19.599Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 14000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T21:49:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T21:49:41.000Z",
     "detected_at": "2026-10-23T21:54:17.185Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Michael Olise to score",
     "author_odds": "2.5",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Michael Olise to score at 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won — Michael Olise scored 1 goal; the final score was SC Freiburg 1-3 FC Bayern München."
    },
    "settlements": [
     {
      "operation_id": "50c3e4519db212045bc246ba10e9c87fd9c9b05f7f3e35608ce047d0bdfb8327",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Michael Olise to score",
      "decimal_odds": "2.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15000,
      "executed_at": "2026-10-24T13:28:52.119Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a351b5762f0152ec78420ccda9f4fd677ba7b0b1e30f1a3c5cb3412233e990ae",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Michael Olise to score",
      "decimal_odds": "2.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 14000,
      "executed_at": "2026-10-24T13:28:52.770Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Michael Olise to score"
   }
  },
  {
   "record_id": "n-1c183c3d2f4f57e3eb049e77",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-1c183c3d2f4f57e3eb049e77",
   "match": "SC Freiburg v FC Bayern München",
   "match_url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
   "kickoff": "2026-10-25T16:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 42.6,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: FC Bayern München win, both teams to score: yes at 2.15",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.15",
   "settled_price": "2.1000",
   "published_at": "2026-10-23T21:49:41.000Z",
   "recorded_at": "2026-10-23T21:54:17.185Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1c183c3d2f4f57e3eb049e77",
    "quote_text": "> Bayern win + BTTS – Yes at 2.15 | Likelihood: High",
    "fragment_from": 3395,
    "fragment_to": 3447,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
     "material_removed": false
    },
    "published_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "executed_at": "2026-10-24T13:28:53.204Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-215f38fae182",
     "display_name": "SC Freiburg — FC Bayern München",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-25T16:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "FC Bayern München win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": "2.1000",
     "our_snapshot_at": "2026-10-23T21:51:19.599Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 11000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T21:49:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T21:49:41.000Z",
     "detected_at": "2026-10-23T21:54:17.185Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "FC Bayern München win, both teams to score: yes",
     "author_odds": "2.15",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: FC Bayern München win, both teams to score: yes at 2.15"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was SC Freiburg 1-3 FC Bayern München."
    },
    "settlements": [
     {
      "operation_id": "48dfe85c68f5cc4030942ab4173e53d019cb3a7b4acaab527f26937cdaf69d28",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "FC Bayern München win, both teams to score: yes",
      "decimal_odds": "2.15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11500,
      "executed_at": "2026-10-24T13:28:52.872Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "3d8cdb14db1e7097adcee25e6d4e084e360466c995635751dabfce4c30ce06e2",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "FC Bayern München win, both teams to score: yes",
      "decimal_odds": "2.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-10-24T13:28:53.204Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Bayern München win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-64db3ed8de34b6ae835b24dc",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-64db3ed8de34b6ae835b24dc",
   "match": "SC Freiburg v FC Bayern München",
   "match_url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
   "kickoff": "2026-10-25T16:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 42.6,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.44",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3900,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.44",
   "settled_price": "1.3900",
   "published_at": "2026-10-23T21:49:41.000Z",
   "recorded_at": "2026-10-23T21:54:17.185Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-64db3ed8de34b6ae835b24dc",
    "quote_text": "> BTTS – Yes at 1.44 | Likelihood: High",
    "fragment_from": 3354,
    "fragment_to": 3393,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
     "material_removed": false
    },
    "published_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "executed_at": "2026-11-07T12:13:38.155Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-215f38fae182",
     "display_name": "SC Freiburg — FC Bayern München",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-25T16:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.44",
     "our_snapshot": "1.3900",
     "our_snapshot_at": "2026-10-23T21:51:19.599Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3900,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T21:49:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T21:49:41.000Z",
     "detected_at": "2026-10-23T21:54:17.185Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.44",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.44"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was SC Freiburg 1-3 FC Bayern München."
    },
    "settlements": [
     {
      "operation_id": "3fef2fdbbf06c2fd24dd98c1dd472db168c36a726de5352493e307073555f3f9",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.44",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4400,
      "executed_at": "2026-11-07T12:13:37.382Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "f246d67eff608206fd1d9bc96ec2121f611f298b980b8589c98383415a15a1d5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.3900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3900,
      "executed_at": "2026-11-07T12:13:38.155Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-5bdad68ef4c94c4413458bf8",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-5bdad68ef4c94c4413458bf8",
   "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": 30.1,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Bayer 04 Leverkusen win, both teams to score: yes at 3.4",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.4",
   "settled_price": "3.3500",
   "published_at": "2026-10-24T08:14:53.000Z",
   "recorded_at": "2026-10-24T08:24:17.318Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5bdad68ef4c94c4413458bf8",
    "quote_text": "Leverkusen win + BTTS – Yes at 3.40 | Likelihood: High",
    "fragment_from": 3713,
    "fragment_to": 3767,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
     "material_removed": false
    },
    "published_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "executed_at": "2026-10-24T08:25:48.209Z",
    "statement_class": "priced",
    "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": "Match result and both teams to score",
    "outcome_label": "Bayer 04 Leverkusen win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.4",
     "our_snapshot": "3.3500",
     "our_snapshot_at": "2026-10-24T08:21:25.261Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T08:14:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T08:14:53.000Z",
     "detected_at": "2026-10-24T08:24:17.318Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "Bayer 04 Leverkusen win, both teams to score: yes",
     "author_odds": "3.4",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Bayer 04 Leverkusen win, both teams to score: yes at 3.4"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
    },
    "settlements": [
     {
      "operation_id": "3de2cd31f6edb5f08604ab498e8b04d8a862581d1e3f84785472c6970ba08987",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Bayer 04 Leverkusen win, both teams to score: yes",
      "decimal_odds": "3.4",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T08:25:46.934Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2665fea4e09cc48d44fddb6bdba55cd3a6221b077526e7ccb04671e2315959a3",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Bayer 04 Leverkusen win, both teams to score: yes",
      "decimal_odds": "3.3500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T08:25:48.209Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bayer 04 Leverkusen win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-e1218465eda364b824ad2ddb",
   "url": "/authors/saikat-mandal/picks/10/#pick-n-e1218465eda364b824ad2ddb",
   "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": 30.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.42",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3691,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.42",
   "settled_price": "1.3691",
   "published_at": "2026-10-24T08:14:53.000Z",
   "recorded_at": "2026-10-24T08:24:17.318Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.3691",
    "result": "Won",
    "points_hundredths": 3691,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e1218465eda364b824ad2ddb",
    "quote_text": "Over 2.5 goals at 1.42 | Likelihood: High",
    "fragment_from": 3668,
    "fragment_to": 3709,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
     "material_removed": false
    },
    "published_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "executed_at": "2026-10-24T08:25:55.079Z",
    "statement_class": "priced",
    "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": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.42",
     "our_snapshot": "1.3691",
     "our_snapshot_at": "2026-10-24T08:23:35.094Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3691,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T08:14:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T08:14:53.000Z",
     "detected_at": "2026-10-24T08:24:17.318Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.42",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.42"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
    },
    "settlements": [
     {
      "operation_id": "1a7c0648d398a172b85bb762f5256f7d717e4eb2f777e926d397a3da07c6df2a",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.42",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4200,
      "executed_at": "2026-10-24T08:25:51.898Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "458220555d843dff5af388efab62cd79251dae4f16e46f3e8438c4542ba47e65",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.3691",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3691,
      "executed_at": "2026-10-24T08:25:55.079Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-690146226f199f7f8cd6fd9a",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-690146226f199f7f8cd6fd9a",
   "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": 30.1,
   "market_code": "1x2",
   "author_said": "1X2, match result: Bayer 04 Leverkusen at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.25",
   "settled_price": "2.2500",
   "published_at": "2026-10-24T08:14:53.000Z",
   "recorded_at": "2026-10-24T08:24:17.318Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-690146226f199f7f8cd6fd9a",
    "quote_text": "Leverkusen to win at 2.25 | Likelihood: High",
    "fragment_from": 3501,
    "fragment_to": 3545,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
     "material_removed": false
    },
    "published_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "executed_at": "2026-10-24T08:25:51.614Z",
    "statement_class": "priced",
    "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": "1X2, match result",
    "outcome_label": "Bayer 04 Leverkusen",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": "2.2500",
     "our_snapshot_at": "2026-10-24T08:23:35.094Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T08:14:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T08:14:53.000Z",
     "detected_at": "2026-10-24T08:24:17.318Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Bayer 04 Leverkusen",
     "author_odds": "2.25",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Bayer 04 Leverkusen at 2.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
    },
    "settlements": [
     {
      "operation_id": "cc73fe1116f3cad9757695909c2ed0b902fbb25e9ac6b1f726a6bed51decb8f9",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Bayer 04 Leverkusen",
      "decimal_odds": "2.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T08:25:48.301Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "be8a83fcd19d6160dbcef470798830f6a5bd8e52ae7491cccbe50fe688d0100f",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Bayer 04 Leverkusen",
      "decimal_odds": "2.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-24T08:25:51.614Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bayer 04 Leverkusen to win"
   }
  },
  {
   "record_id": "n-74f75830f49b5fd239261960",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-74f75830f49b5fd239261960",
   "match": "Inter v Fiorentina",
   "match_url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
   "kickoff": "2026-10-25T11:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 29.3,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: under 10.5 at 1.57",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5300,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.57",
   "settled_price": "1.5300",
   "published_at": "2026-10-24T06:04:20.000Z",
   "recorded_at": "2026-10-24T06:14:17.354Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-74f75830f49b5fd239261960",
    "quote_text": "Each of Inter's last six matches has produced less than 11 corners. For those, looking to explore the corner markets, Under 10.5 corners at 1.57 presents an attractive offer.",
    "fragment_from": 3256,
    "fragment_to": 3430,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
     "material_removed": false
    },
    "published_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "executed_at": "2026-10-24T06:15:40.549Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9d1d25085bce",
     "display_name": "Inter — Fiorentina",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T11:30:00.000Z",
     "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 10.5 corners",
    "outcome_label": "under 10.5",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5300",
     "our_snapshot_at": "2026-10-24T06:13:26.023Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5300,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T06:04:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T06:04:20.000Z",
     "detected_at": "2026-10-24T06:14:17.354Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 10.5 corners",
     "choice": "under 10.5",
     "author_odds": "1.57",
     "market_key": "corners_total",
     "choice_key": "under",
     "period": "match",
     "line": "10.5",
     "subject": "corners",
     "in_words": "Over/Under 10.5 corners: under 10.5 at 1.57"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won — corners 6-1 in the match (7 in total); the final score was Inter 2-1 Fiorentina."
    },
    "settlements": [
     {
      "operation_id": "f6096b7ec78681c32d07fc34eb29f4a87248a7c5eeed83cd6eee5e5f5eeea51a",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "under 10.5",
      "decimal_odds": "1.57",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5700,
      "executed_at": "2026-10-24T06:15:39.422Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e2a902e35ea0804f4c84b2fde97dea8f615940fa99fe2feee2837c206a0e4eb0",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "under 10.5",
      "decimal_odds": "1.5300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5300,
      "executed_at": "2026-10-24T06:15:40.549Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 10.5 (Over/Under 10.5 corners)"
   }
  },
  {
   "record_id": "n-bfa3bb789b95aa1debd631ff",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-bfa3bb789b95aa1debd631ff",
   "match": "Inter v Fiorentina",
   "match_url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
   "kickoff": "2026-10-25T11:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 29.3,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Inter win, both teams to score: yes at 2.6",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 15000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.6",
   "settled_price": "2.5000",
   "published_at": "2026-10-24T06:04:20.000Z",
   "recorded_at": "2026-10-24T06:14:17.354Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bfa3bb789b95aa1debd631ff",
    "quote_text": "Thus, a combo of Inter win and BTTS – Yes at 2.60 presents a tempting offer",
    "fragment_from": 3004,
    "fragment_to": 3079,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
     "material_removed": false
    },
    "published_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "executed_at": "2026-10-24T06:15:42.605Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9d1d25085bce",
     "display_name": "Inter — Fiorentina",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T11:30:00.000Z",
     "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Inter win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.6",
     "our_snapshot": "2.5000",
     "our_snapshot_at": "2026-10-24T06:13:26.023Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 15000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T06:04:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T06:04:20.000Z",
     "detected_at": "2026-10-24T06:14:17.354Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "Inter win, both teams to score: yes",
     "author_odds": "2.6",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Inter win, both teams to score: yes at 2.6"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Inter 2-1 Fiorentina."
    },
    "settlements": [
     {
      "operation_id": "ef14016d98c4fce8c83edcbbd370aa655699e0b1e35641f3100fae3d887715c2",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Inter win, both teams to score: yes",
      "decimal_odds": "2.6",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 16000,
      "executed_at": "2026-10-24T06:15:42.109Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "abd472c79b71d05dca767efc541dc28a05eb26024868e04c4d9aeb6c0ded8f4a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Inter win, both teams to score: yes",
      "decimal_odds": "2.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15000,
      "executed_at": "2026-10-24T06:15:42.605Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-9572c07abb51f7bcdd361f50",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-9572c07abb51f7bcdd361f50",
   "match": "Inter v Fiorentina",
   "match_url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
   "kickoff": "2026-10-25T11:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 29.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.44",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4100,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.44",
   "settled_price": "1.4100",
   "published_at": "2026-10-24T06:04:20.000Z",
   "recorded_at": "2026-10-24T06:14:17.354Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.4100",
    "result": "Won",
    "points_hundredths": 4100,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9572c07abb51f7bcdd361f50",
    "quote_text": "Seven of Inter's last nine matches have produced more than two goals, and thus, Over 2.5 goals at 1.44 can be a safe option.",
    "fragment_from": 3130,
    "fragment_to": 3254,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
     "material_removed": false
    },
    "published_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "executed_at": "2026-10-24T06:15:41.899Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9d1d25085bce",
     "display_name": "Inter — Fiorentina",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T11:30:00.000Z",
     "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.44",
     "our_snapshot": "1.4100",
     "our_snapshot_at": "2026-10-24T06:13:26.023Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4100,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T06:04:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T06:04:20.000Z",
     "detected_at": "2026-10-24T06:14:17.354Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.44",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.44"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Inter 2-1 Fiorentina."
    },
    "settlements": [
     {
      "operation_id": "a6979ea55ac721f7b4cb2a969b623486f9d3ac0fb1ab26fe82cad8afd882de7d",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.44",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4400,
      "executed_at": "2026-10-24T06:15:40.650Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "3f9f74e09f157ba645bcdb69c4081f7b74a7b0b73f0913f776fec66840465351",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.4100",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4100,
      "executed_at": "2026-10-24T06:15:41.899Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-90502b16f8617c289fc02e2c",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-90502b16f8617c289fc02e2c",
   "match": "Lazio v Parma",
   "match_url": "/football/matches/lazio-vs-parma-2026-10-24/",
   "kickoff": "2026-10-24T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.8,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.91",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8800,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.91",
   "settled_price": "1.8800",
   "published_at": "2026-10-22T20:52:46.000Z",
   "recorded_at": "2026-10-22T20:54:17.583Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.8800",
    "result": "Won",
    "points_hundredths": 8800,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-90502b16f8617c289fc02e2c",
    "quote_text": "Over 2.5 goals has been best priced at 1.91, which presents a tempting offer.",
    "fragment_from": 3172,
    "fragment_to": 3249,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
     "material_removed": false
    },
    "published_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "executed_at": "2026-10-24T00:48:01.022Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1dca3b8123af",
     "display_name": "Lazio — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T18:45:00.000Z",
     "url": "/football/matches/lazio-vs-parma-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.91",
     "our_snapshot": "1.8800",
     "our_snapshot_at": "2026-10-22T20:52:39.806Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 8800,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T20:52:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T20:52:46.000Z",
     "detected_at": "2026-10-22T20:54:17.583Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.91",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.91"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lazio 2-1 Parma."
    },
    "settlements": [
     {
      "operation_id": "83f0854526339cf4512e33b19fbac1b1b8b41e7aeeb01186bab260fcd8041b36",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.91",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9100,
      "executed_at": "2026-10-24T00:48:00.682Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8bf8e4eb401a81c05bbadf91a96620a24d5ccc798c59ba488e24ff02d0c61683",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.8800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8800,
      "executed_at": "2026-10-24T00:48:01.022Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-046457de2fc45e0546f09b64",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-046457de2fc45e0546f09b64",
   "match": "Lazio v Parma",
   "match_url": "/football/matches/lazio-vs-parma-2026-10-24/",
   "kickoff": "2026-10-24T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.8,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Lazio win, both teams to score: yes at 3.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 24500,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.5",
   "settled_price": "3.4500",
   "published_at": "2026-10-22T20:52:46.000Z",
   "recorded_at": "2026-10-22T20:54:17.583Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-046457de2fc45e0546f09b64",
    "quote_text": "A combination of Lazio win and both teams to score at 3.50 could be an excellent bet",
    "fragment_from": 2838,
    "fragment_to": 2922,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
     "material_removed": false
    },
    "published_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "executed_at": "2026-10-24T00:48:00.664Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1dca3b8123af",
     "display_name": "Lazio — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T18:45:00.000Z",
     "url": "/football/matches/lazio-vs-parma-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Lazio win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.5",
     "our_snapshot": "3.4500",
     "our_snapshot_at": "2026-10-22T20:57:41.459Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 24500,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T20:52:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T20:52:46.000Z",
     "detected_at": "2026-10-22T20:54:17.583Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "Lazio win, both teams to score: yes",
     "author_odds": "3.5",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Lazio win, both teams to score: yes at 3.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lazio 2-1 Parma."
    },
    "settlements": [
     {
      "operation_id": "e14270f607a041bcac237fcad893882eb5bb2d6f264f74537c937d03b23b54e1",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Lazio win, both teams to score: yes",
      "decimal_odds": "3.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 25000,
      "executed_at": "2026-10-24T00:48:00.580Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7d03a59e84cad979125d5e4a0ff4e46ccdebff235aba0871163ac24f5fc26424",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Lazio win, both teams to score: yes",
      "decimal_odds": "3.4500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24500,
      "executed_at": "2026-10-24T00:48:00.664Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lazio win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-70dba6b06e40d48f7af71cb9",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-70dba6b06e40d48f7af71cb9",
   "match": "Lazio v Parma",
   "match_url": "/football/matches/lazio-vs-parma-2026-10-24/",
   "kickoff": "2026-10-24T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lazio 2-1 Parma",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 69000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "7.9000",
   "published_at": "2026-10-22T20:52:46.000Z",
   "recorded_at": "2026-10-22T20:54:17.583Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-70dba6b06e40d48f7af71cb9",
    "quote_text": "Whispers predicts: Lazio 2-1 Parma",
    "fragment_from": 2664,
    "fragment_to": 2698,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
     "material_removed": false
    },
    "published_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "executed_at": "2026-10-24T00:47:59.630Z",
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1dca3b8123af",
     "display_name": "Lazio — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T18:45:00.000Z",
     "url": "/football/matches/lazio-vs-parma-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lazio 2-1 Parma",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "7.9000",
     "our_snapshot_at": "2026-10-22T20:52:39.806Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 69000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T20:52:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T20:52:46.000Z",
     "detected_at": "2026-10-22T20:54:17.583Z",
     "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": "Lazio 2-1 Parma",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lazio 2-1 Parma"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Lazio 2-1 Parma."
    },
    "settlements": [
     {
      "operation_id": "5b2af432909f49c92a23c78dcc4b72f5cebae755e5c5def2b63131fc3bafd094",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Lazio 2-1 Parma",
      "decimal_odds": "7.9000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 69000,
      "executed_at": "2026-10-24T00:47:59.630Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9e61a1a6c5cbc64b9d9d4529a91051d953846f236d5a8b7df9f5d58566a5a96c",
      "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": "Lazio",
      "decimal_odds": "1.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4000,
      "executed_at": "2026-10-24T00:48:00.231Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lazio 2-1 Parma"
   }
  },
  {
   "record_id": "n-2f0ac3b38641d4992ca93d76",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-2f0ac3b38641d4992ca93d76",
   "match": "SSC Napoli v AS Roma",
   "match_url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
   "kickoff": "2026-10-24T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 48.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 1.95",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.95",
   "settled_price": "1.9434",
   "published_at": "2026-10-22T15:37:35.000Z",
   "recorded_at": "2026-10-22T15:44:17.082Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2f0ac3b38641d4992ca93d76",
    "quote_text": "> Under 2.5 goals at 1.95 | Likelihood: Medium",
    "fragment_from": 3339,
    "fragment_to": 3385,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "executed_at": "2026-11-07T12:23:31.321Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-eb0fa85672d7",
     "display_name": "SSC Napoli — AS Roma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T16:00:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
     "scoreline": "3-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": "1.9434",
     "our_snapshot_at": "2026-10-22T15:39:17.566Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T15:37:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:37:35.000Z",
     "detected_at": "2026-10-22T15:44:17.082Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "1.95",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 1.95"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was SSC Napoli 3-3 AS Roma."
    },
    "settlements": [
     {
      "operation_id": "a052ea295803a1a38b69bb350f4937d6eef822b56baa5e2c2d67d81ebd58ad51",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.95",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T12:23:31.105Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "59bcc6bfe6d21b7e33b10674b331b4fceef20b4ec07cb8aa2f1c4d7b7c36f9af",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.9434",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T12:23:31.321Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-8c1657ddac8233f3002bad9d",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-8c1657ddac8233f3002bad9d",
   "match": "SSC Napoli v AS Roma",
   "match_url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
   "kickoff": "2026-10-24T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 48.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.67",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6452,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.67",
   "settled_price": "1.6452",
   "published_at": "2026-10-22T15:37:35.000Z",
   "recorded_at": "2026-10-22T15:44:17.082Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6452",
    "result": "Won",
    "points_hundredths": 6452,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8c1657ddac8233f3002bad9d",
    "quote_text": "> Both teams to score at 1.67 | Likelihood: High",
    "fragment_from": 3289,
    "fragment_to": 3337,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "21491aa9c3473582063f05657644e9730d339da484331179dd9e6918803f10be",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:37:35.000Z",
    "detected_at": "2026-10-22T15:44:17.082Z",
    "executed_at": "2026-10-24T00:50:50.000Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-eb0fa85672d7",
     "display_name": "SSC Napoli — AS Roma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T16:00:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
     "scoreline": "3-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.67",
     "our_snapshot": "1.6452",
     "our_snapshot_at": "2026-10-22T15:39:17.566Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6452,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T15:37:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:37:35.000Z",
     "detected_at": "2026-10-22T15:44:17.082Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.67",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.67"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was SSC Napoli 3-3 AS Roma."
    },
    "settlements": [
     {
      "operation_id": "edd842fe69e1abf31184bd0049a09a6a162dd1dd909f70a345ac54825a9e5f5b",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.67",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6700,
      "executed_at": "2026-10-24T00:50:49.039Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7aaea535668c8f26738dcd9e3387e929282a2402583dd3f846a1c73c31a34b06",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.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-24T00:50:50.000Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/napoli-vs-roma-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-be0d15e5d0c5783263b2bc61",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-be0d15e5d0c5783263b2bc61",
   "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": 29.9,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5 at 2.37",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 12800,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.37",
   "settled_price": "2.2800",
   "published_at": "2026-10-23T07:29:33.000Z",
   "recorded_at": "2026-10-23T07:34:19.246Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-be0d15e5d0c5783263b2bc61",
    "quote_text": "Therefore, Over 10.5 corners at 11/8 represents a tempting offer.",
    "fragment_from": 3447,
    "fragment_to": 3512,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
     "material_removed": false
    },
    "published_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "executed_at": "2026-10-24T09:36:28.792Z",
    "statement_class": "priced",
    "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": "Over/Under 10.5 corners",
    "outcome_label": "over 10.5",
    "odds_set": {
     "by_author": "2.37",
     "our_snapshot": "2.2800",
     "our_snapshot_at": "2026-10-23T07:33:19.959Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 12800,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T07:29:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T07:29:33.000Z",
     "detected_at": "2026-10-23T07:34:19.246Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "author_odds": "2.37",
     "market_key": "corners_total",
     "choice_key": "over",
     "period": "match",
     "line": "10.5",
     "subject": "corners",
     "in_words": "Over/Under 10.5 corners: over 10.5 at 2.37"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won — corners 6-6 in the match (12 in total); the final score was 1. FSV Mainz 05 2-3 SV Werder Bremen."
    },
    "settlements": [
     {
      "operation_id": "5f9aa3ed1f897d4c3382b1b1fa220c12fa5049e6d3824b6aea4949a4998cb536",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": "2.37",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13700,
      "executed_at": "2026-10-24T09:36:28.431Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1226991d42562db4f60f5ba1ea6242da54788e57eb5f7e53c42052b3b712c476",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": "2.2800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12800,
      "executed_at": "2026-10-24T09:36:28.792Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 10.5 (Over/Under 10.5 corners)"
   }
  },
  {
   "record_id": "n-a3db84eeaffbd4cbb559f7d3",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-a3db84eeaffbd4cbb559f7d3",
   "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": 29.9,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.58",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5600,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.58",
   "settled_price": "1.5600",
   "published_at": "2026-10-23T07:29:33.000Z",
   "recorded_at": "2026-10-23T07:34:19.246Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.5600",
    "result": "Won",
    "points_hundredths": 5600,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a3db84eeaffbd4cbb559f7d3",
    "quote_text": "Thus, Over 2.5 goals at 7/12 is a high possibility.",
    "fragment_from": 3175,
    "fragment_to": 3226,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
     "material_removed": false
    },
    "published_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "executed_at": "2026-10-24T09:36:28.414Z",
    "statement_class": "priced",
    "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": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.58",
     "our_snapshot": "1.5600",
     "our_snapshot_at": "2026-10-23T07:33:19.959Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5600,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T07:29:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T07:29:33.000Z",
     "detected_at": "2026-10-23T07:34:19.246Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.58",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.58"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was 1. FSV Mainz 05 2-3 SV Werder Bremen."
    },
    "settlements": [
     {
      "operation_id": "016b82be9933a06fb1eb7edc5292a1c64422bf8f0dbea0b06d911451db94aece",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.58",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5800,
      "executed_at": "2026-10-24T09:36:27.323Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4b365e78bffa945802ef72558cbbb58cc8851853160869dc2c9ac2e9e0a94432",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.5600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5600,
      "executed_at": "2026-10-24T09:36:28.414Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-4055b3e7549da0426032c358",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-4055b3e7549da0426032c358",
   "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": 31.3,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: RB Leipzig win, both teams to score: yes at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.25",
   "settled_price": "2.2000",
   "published_at": "2026-10-23T05:58:41.000Z",
   "recorded_at": "2026-10-23T06:14:17.204Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4055b3e7549da0426032c358",
    "quote_text": "Leipzig win + BTTS – yes at 2.25 | Likelihood: Medium",
    "fragment_from": 3237,
    "fragment_to": 3290,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
     "material_removed": false
    },
    "published_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "executed_at": "2026-10-23T06:44:30.516Z",
    "statement_class": "priced",
    "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": "Match result and both teams to score",
    "outcome_label": "RB Leipzig win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": "2.2000",
     "our_snapshot_at": "2026-10-23T06:12:38.003Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T05:58:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T05:58:41.000Z",
     "detected_at": "2026-10-23T06:14:17.204Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "RB Leipzig win, both teams to score: yes",
     "author_odds": "2.25",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: RB Leipzig win, both teams to score: yes at 2.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was RB Leipzig 4-0 SV 07 Elversberg."
    },
    "settlements": [
     {
      "operation_id": "caf184a132dcc0f105a64883304a423eac056446d6df3c1b6935006a61add7aa",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "RB Leipzig win, both teams to score: yes",
      "decimal_odds": "2.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:44:30.417Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d1e7daba03f6db05c84d2d44af85d282e32b9b36a718e07364cb6568b1c532e7",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "RB Leipzig win, both teams to score: yes",
      "decimal_odds": "2.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:44:30.516Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-7a4980fef8ef41f13cbbd800",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-7a4980fef8ef41f13cbbd800",
   "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": 31.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.43",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.43",
   "settled_price": "1.4000",
   "published_at": "2026-10-23T05:58:41.000Z",
   "recorded_at": "2026-10-23T06:14:17.204Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.4000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7a4980fef8ef41f13cbbd800",
    "quote_text": "Both teams to score at 1.43 | Likelihood: High",
    "fragment_from": 3187,
    "fragment_to": 3233,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
     "material_removed": false
    },
    "published_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "executed_at": "2026-10-23T06:44:29.787Z",
    "statement_class": "priced",
    "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": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.43",
     "our_snapshot": "1.4000",
     "our_snapshot_at": "2026-10-23T06:12:38.003Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T05:58:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T05:58:41.000Z",
     "detected_at": "2026-10-23T06:14:17.204Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.43",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.43"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was RB Leipzig 4-0 SV 07 Elversberg."
    },
    "settlements": [
     {
      "operation_id": "dc21d955d15191d675dad475937caa3014b936f389ec093631a997c655cb382b",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.43",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:44:29.104Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c51d121ede58d755721c0e9659818b846dad89f76fc747dedc8e2aecb2b88d51",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:44:29.787Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-1d78a0c122c299cf4c5a882e",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-1d78a0c122c299cf4c5a882e",
   "match": "Torino v Monza",
   "match_url": "/football/matches/torino-vs-monza-2026-10-23/",
   "kickoff": "2026-10-23T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 56.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 1.8",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.8",
   "settled_price": "1.7576",
   "published_at": "2026-10-21T10:28:38.000Z",
   "recorded_at": "2026-10-21T10:44:17.343Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "under",
    "price": "1.7576",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1d78a0c122c299cf4c5a882e",
    "quote_text": "Each of the last six meetings between the two sides has produced two goals or fewer, making Under 2.5 goals at 1.80 an appealing betting option.",
    "fragment_from": 2921,
    "fragment_to": 3065,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
     "material_removed": false
    },
    "published_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "executed_at": "2026-10-23T00:45:03.450Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d322079b35a0",
     "display_name": "Torino — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-23T18:45:00.000Z",
     "url": "/football/matches/torino-vs-monza-2026-10-23/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "1.8",
     "our_snapshot": "1.7576",
     "our_snapshot_at": "2026-10-21T10:48:51.071Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T10:28:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T10:28:38.000Z",
     "detected_at": "2026-10-21T10:44:17.343Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "1.8",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 1.8"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Torino 3-2 Monza."
    },
    "settlements": [
     {
      "operation_id": "48bc7a5f5d4406c4f321d65e04db0b300ac6ec71b8223f4e8f182ede47a2739f",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T00:45:02.902Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "5c1d4b11c54d6eb009c2949f24c6bce4542e38d63b504a69b4912431fd1c5d7d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.7576",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T00:45:03.450Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-14019765e50788e80d7edfac",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-14019765e50788e80d7edfac",
   "match": "Torino v Monza",
   "match_url": "/football/matches/torino-vs-monza-2026-10-23/",
   "kickoff": "2026-10-23T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 56.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.8",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7519,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.8",
   "settled_price": "1.7519",
   "published_at": "2026-10-21T10:28:38.000Z",
   "recorded_at": "2026-10-21T10:44:17.343Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.7519",
    "result": "Won",
    "points_hundredths": 7519,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-14019765e50788e80d7edfac",
    "quote_text": "Six of Monza's last seven matches have seen goals at both ends. Therefore, BTTS – Yes at 1.80 looks a tempting offer.",
    "fragment_from": 2802,
    "fragment_to": 2919,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
     "material_removed": false
    },
    "published_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "executed_at": "2026-10-23T00:45:02.873Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d322079b35a0",
     "display_name": "Torino — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-23T18:45:00.000Z",
     "url": "/football/matches/torino-vs-monza-2026-10-23/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.8",
     "our_snapshot": "1.7519",
     "our_snapshot_at": "2026-10-21T10:48:51.071Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7519,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T10:28:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T10:28:38.000Z",
     "detected_at": "2026-10-21T10:44:17.343Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.8",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.8"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Torino 3-2 Monza."
    },
    "settlements": [
     {
      "operation_id": "9982d8bf315953181468bd4e818d3ba29a7deea0b50901d07206edc266bc1142",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-10-23T00:45:02.520Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c08d9692b8e7b0d6a122ff19fc76b12207645254243007d08a6a947df0b45663",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.7519",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7519,
      "executed_at": "2026-10-23T00:45:02.873Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-ac9ce2921e3bdab476bea931",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-ac9ce2921e3bdab476bea931",
   "match": "Parma v Torino",
   "match_url": "/football/matches/parma-vs-torino-2026-10-19/",
   "kickoff": "2026-10-19T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 36.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 1.6",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.6",
   "settled_price": "1.5814",
   "published_at": "2026-10-18T06:04:38.000Z",
   "recorded_at": "2026-10-18T06:14:14.620Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ac9ce2921e3bdab476bea931",
    "quote_text": "Under 2.5 goals at 1.60 | Likelihood: High",
    "fragment_from": 3192,
    "fragment_to": 3234,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
     "material_removed": false
    },
    "published_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "executed_at": "2026-11-07T03:23:13.305Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-550a1d932859",
     "display_name": "Parma — Torino",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T18:45:00.000Z",
     "url": "/football/matches/parma-vs-torino-2026-10-19/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "1.6",
     "our_snapshot": "1.5814",
     "our_snapshot_at": "2026-10-18T06:19:47.156Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T06:04:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T06:04:38.000Z",
     "detected_at": "2026-10-18T06:14:14.620Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "1.6",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 1.6"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Parma 0-3 Torino."
    },
    "settlements": [
     {
      "operation_id": "5ebc061e1a25014155f866df207c08e5f67bef28660b85da139e5ae7f7322136",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.6",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T03:23:08.760Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e4c63c6b7a8f1603bc7ccfd65755c41411361851bedd68e845209550d6c2d9c9",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.5814",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T03:23:13.305Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-7026f6f1ecc6efdbf5944070",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-7026f6f1ecc6efdbf5944070",
   "match": "Parma v Torino",
   "match_url": "/football/matches/parma-vs-torino-2026-10-19/",
   "kickoff": "2026-10-19T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 36.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2",
   "settled_price": "1.9174",
   "published_at": "2026-10-18T06:04:38.000Z",
   "recorded_at": "2026-10-18T06:14:14.620Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "no",
    "price": "1.8197",
    "result": "Won",
    "points_hundredths": 8197,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7026f6f1ecc6efdbf5944070",
    "quote_text": "Both teams to score – Yes at 2.00 | Likelihood: Medium",
    "fragment_from": 3134,
    "fragment_to": 3188,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
     "material_removed": false
    },
    "published_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "executed_at": "2026-10-18T06:29:51.623Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-550a1d932859",
     "display_name": "Parma — Torino",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T18:45:00.000Z",
     "url": "/football/matches/parma-vs-torino-2026-10-19/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2",
     "our_snapshot": "1.9174",
     "our_snapshot_at": "2026-10-18T06:19:47.156Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T06:04:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T06:04:38.000Z",
     "detected_at": "2026-10-18T06:14:14.620Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "2",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Parma 0-3 Torino."
    },
    "settlements": [
     {
      "operation_id": "8a9fcc6c095267280e1bc4652894ff6a3b1d2267b6956e2d8b86ff4e13fe88a1",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:29:50.196Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a04a4137e6f891686bff0b5be081edd9d6b71aaa1d7c436fac7a9c7f5b0c8748",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.9174",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:29:51.623Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-da9715770be34a3ab1ec3f9e",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-da9715770be34a3ab1ec3f9e",
   "match": "Monza v Cagliari",
   "match_url": "/football/matches/monza-vs-cagliari-2026-10-19/",
   "kickoff": "2026-10-19T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 42.6,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 2.1",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11100,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.1",
   "settled_price": "2.1100",
   "published_at": "2026-10-17T21:42:31.000Z",
   "recorded_at": "2026-10-17T21:54:13.149Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "under",
    "price": "1.6973",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-da9715770be34a3ab1ec3f9e",
    "quote_text": "making Over 2.5 goals at 2.10 an appealing betting option.",
    "fragment_from": 3205,
    "fragment_to": 3263,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
     "material_removed": false
    },
    "published_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "executed_at": "2026-10-19T04:58:16.512Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ecbe80b1f6a",
     "display_name": "Monza — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T16:30:00.000Z",
     "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "2.1",
     "our_snapshot": "2.1100",
     "our_snapshot_at": "2026-10-17T22:01:23.619Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 11100,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T21:42:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T21:42:31.000Z",
     "detected_at": "2026-10-17T21:54:13.149Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "2.1",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 2.1"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Monza 4-0 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "546d9d687b9bc1b86665c86296feb2940c473f130fc4404bf4514f21ad529085",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "2.1",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-10-19T04:58:14.155Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "946ddf573f5ef04c76359749985e0af00c23f4e2dee864c3acbfb7171fcf4c47",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "2.1100",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11100,
      "executed_at": "2026-10-19T04:58:16.512Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-3ebfd52fb768af16e323ccf8",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-3ebfd52fb768af16e323ccf8",
   "match": "Monza v Cagliari",
   "match_url": "/football/matches/monza-vs-cagliari-2026-10-19/",
   "kickoff": "2026-10-19T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 42.6,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.85",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.85",
   "settled_price": "1.7969",
   "published_at": "2026-10-17T21:42:31.000Z",
   "recorded_at": "2026-10-17T21:54:13.149Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.7969",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3ebfd52fb768af16e323ccf8",
    "quote_text": "making BTTS – Yes at 1.85 a tempting offer.",
    "fragment_from": 3091,
    "fragment_to": 3134,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
     "material_removed": false
    },
    "published_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "executed_at": "2026-10-19T04:58:14.003Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ecbe80b1f6a",
     "display_name": "Monza — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T16:30:00.000Z",
     "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.85",
     "our_snapshot": "1.7969",
     "our_snapshot_at": "2026-10-17T22:01:23.619Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T21:42:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T21:42:31.000Z",
     "detected_at": "2026-10-17T21:54:13.149Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.85",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.85"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Monza 4-0 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "f269981a4d79b145506701bcca55cd5c0768bbe6de8a92971394575d475bdef6",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.85",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-19T04:58:12.949Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6ecc3d0d54673243b5cecd42cbb2de65fb90b4fb4a0c7016869f501e43046e32",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.7969",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-19T04:58:14.003Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-9428c3613c0aaa5813f76485",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-9428c3613c0aaa5813f76485",
   "match": "AC Milan v Atalanta",
   "match_url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
   "kickoff": "2026-10-18T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.1,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6452,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.6452",
   "published_at": "2026-10-17T05:46:27.000Z",
   "recorded_at": "2026-10-17T05:54:13.015Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9428c3613c0aaa5813f76485",
    "quote_text": "BTTS – Yes at 1.73 an attractive bet",
    "fragment_from": 3352,
    "fragment_to": 3388,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fd560f37653cf44b8d9b7ae2c0aee26a92696681c2d9fd213a854fbe9920655e",
     "material_removed": false
    },
    "published_at": "2026-10-17T05:46:27.000Z",
    "detected_at": "2026-10-17T05:54:13.015Z",
    "executed_at": "2026-11-07T01:58:50.514Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e6b8273ecffa",
     "display_name": "AC Milan — Atalanta",
     "competition_name": "Serie A",
     "starts_at": "2026-10-18T16:00:00.000Z",
     "url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.6452",
     "our_snapshot_at": "2026-10-17T05:51:25.207Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6452,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T05:46:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T05:46:27.000Z",
     "detected_at": "2026-10-17T05:54:13.015Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.73",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.73"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was AC Milan 3-2 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "16da31a6eef04260c590c1a3d6d5dee8bf75edd6d2451fafdded9a93ae558bb2",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7300,
      "executed_at": "2026-11-07T01:58:49.972Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ca21493f6b4bb8aacbb730cb01284bf9507601eb123677dfff1646c51d12b7e1",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.6452",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6452,
      "executed_at": "2026-11-07T01:58:50.514Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-3259eb2a1234c2bce8f53be8",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-3259eb2a1234c2bce8f53be8",
   "match": "AC Milan v Atalanta",
   "match_url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
   "kickoff": "2026-10-18T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.75",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7117,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.75",
   "settled_price": "1.7117",
   "published_at": "2026-10-17T05:46:27.000Z",
   "recorded_at": "2026-10-17T05:54:13.015Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.7117",
    "result": "Won",
    "points_hundredths": 7117,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3259eb2a1234c2bce8f53be8",
    "quote_text": "Over 2.5 goals at 1.75 a tempting option",
    "fragment_from": 3219,
    "fragment_to": 3259,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fd560f37653cf44b8d9b7ae2c0aee26a92696681c2d9fd213a854fbe9920655e",
     "material_removed": false
    },
    "published_at": "2026-10-17T05:46:27.000Z",
    "detected_at": "2026-10-17T05:54:13.015Z",
    "executed_at": "2026-10-18T05:58:09.087Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e6b8273ecffa",
     "display_name": "AC Milan — Atalanta",
     "competition_name": "Serie A",
     "starts_at": "2026-10-18T16:00:00.000Z",
     "url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.75",
     "our_snapshot": "1.7117",
     "our_snapshot_at": "2026-10-17T05:51:25.207Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7117,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T05:46:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T05:46:27.000Z",
     "detected_at": "2026-10-17T05:54:13.015Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.75",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.75"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was AC Milan 3-2 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "ae9dbd64f9dadb2d68a98c65398bdc0407f7f8e64fc605f8d02d6620712a59da",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7500,
      "executed_at": "2026-10-18T05:58:07.842Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "596544f0ff652c3dfabb55fb1f5b88135ad7fd5597f294ae5120ca4f20a38d61",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.7117",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7117,
      "executed_at": "2026-10-18T05:58:09.087Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-af6e6d8ee5924df83b0a13fb",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-af6e6d8ee5924df83b0a13fb",
   "match": "AS Roma v Genoa",
   "match_url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 36.3,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: AS Roma win, both teams to score: yes at 3.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "3.25",
   "settled_price": "3.25",
   "published_at": "2026-10-16T06:16:11.000Z",
   "recorded_at": "2026-10-16T06:24:13.072Z",
   "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-af6e6d8ee5924df83b0a13fb",
    "quote_text": "> Roma win + BTTS – Yes at 3.25 | Likelihood: Medium",
    "fragment_from": 3274,
    "fragment_to": 3326,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "549fab1d80344d1f2a2165d18ec9db404bdd47630ca15e4e3422c00c91994252",
     "material_removed": false
    },
    "published_at": "2026-10-16T06:16:11.000Z",
    "detected_at": "2026-10-16T06:24:13.072Z",
    "executed_at": "2026-10-16T06:25:10.392Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7163016c6723",
     "display_name": "AS Roma — Genoa",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "AS Roma win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.25",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T06:16:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T06:16:11.000Z",
     "detected_at": "2026-10-16T06:24:13.072Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "AS Roma win, both teams to score: yes",
     "author_odds": "3.25",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: AS Roma win, both teams to score: yes at 3.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AS Roma 2-0 Genoa."
    },
    "settlements": [
     {
      "operation_id": "ab1e50772305356d6d6cd76814cdbe19c183de372becfa206cafc0c954522a4c",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "AS Roma win, both teams to score: yes",
      "decimal_odds": "3.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-16T06:25:10.392Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "655080034ca55ec0fe2a932a7631614205aef88081b04309b7f3f0d01e33d96b",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "AS Roma win, both teams to score: yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AS Roma win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-7ad09990e0aa40ebff7094f4",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-7ad09990e0aa40ebff7094f4",
   "match": "AS Roma v Genoa",
   "match_url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 36.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.7386",
   "published_at": "2026-10-16T06:16:11.000Z",
   "recorded_at": "2026-10-16T06:24:13.072Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7ad09990e0aa40ebff7094f4",
    "quote_text": "> Over 2.5 goals at 1.73 | Likelihood: Medium",
    "fragment_from": 3177,
    "fragment_to": 3222,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "549fab1d80344d1f2a2165d18ec9db404bdd47630ca15e4e3422c00c91994252",
     "material_removed": false
    },
    "published_at": "2026-10-16T06:16:11.000Z",
    "detected_at": "2026-10-16T06:24:13.072Z",
    "executed_at": "2026-11-07T00:49:44.924Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7163016c6723",
     "display_name": "AS Roma — Genoa",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.7386",
     "our_snapshot_at": "2026-10-16T06:26:47.953Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T06:16:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T06:16:11.000Z",
     "detected_at": "2026-10-16T06:24:13.072Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.73",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.73"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AS Roma 2-0 Genoa."
    },
    "settlements": [
     {
      "operation_id": "9e9b68887ca3f5240d4ea1e13452aa7456780451699500855c0a4696e3f01e1c",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T00:49:44.135Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "14cb4e532c3d25c9153032f5e33b06ffcca92f510347d2e6d19ba9395629cb79",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.7386",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T00:49:44.924Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-6a24d86b275b09de49ea99c2",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-6a24d86b275b09de49ea99c2",
   "match": "AS Roma v Genoa",
   "match_url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 36.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.91",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.91",
   "settled_price": "1.9263",
   "published_at": "2026-10-16T06:16:11.000Z",
   "recorded_at": "2026-10-16T06:24:13.072Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "no",
    "price": "1.8742",
    "result": "Won",
    "points_hundredths": 8742,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-6a24d86b275b09de49ea99c2",
    "quote_text": "> Both teams to score at 1.91 | Likelihood: High",
    "fragment_from": 3127,
    "fragment_to": 3175,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "549fab1d80344d1f2a2165d18ec9db404bdd47630ca15e4e3422c00c91994252",
     "material_removed": false
    },
    "published_at": "2026-10-16T06:16:11.000Z",
    "detected_at": "2026-10-16T06:24:13.072Z",
    "executed_at": "2026-10-16T06:37:30.334Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7163016c6723",
     "display_name": "AS Roma — Genoa",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.91",
     "our_snapshot": "1.9263",
     "our_snapshot_at": "2026-10-16T06:26:47.953Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T06:16:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T06:16:11.000Z",
     "detected_at": "2026-10-16T06:24:13.072Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.91",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.91"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AS Roma 2-0 Genoa."
    },
    "settlements": [
     {
      "operation_id": "028c8abf01b67d872f5c0ebd4a83128ee77a4da50b83432dfbf470544b153d75",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.91",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-16T06:25:09.518Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "af1d6ed431d8a9a02ada314ee140361ea2b98b4fa13fe394f0b2d0d29b7c085b",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.9263",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-16T06:37:30.334Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-8792452dfb52ab610bb054fb",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-8792452dfb52ab610bb054fb",
   "match": "Bologna v Inter",
   "match_url": "/football/matches/bologna-vs-inter-2026-10-17/",
   "kickoff": "2026-10-17T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 44.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.67",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6711,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.67",
   "settled_price": "1.6711",
   "published_at": "2026-10-15T19:50:50.000Z",
   "recorded_at": "2026-10-15T19:54:13.479Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8792452dfb52ab610bb054fb",
    "quote_text": "Over 2.5 goals at 1.67 | Likelihood: High",
    "fragment_from": 3309,
    "fragment_to": 3350,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/bologna-vs-inter-milan-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5f8d669d751c27333707556444d2c6ef8d5b005e31bbf705b9247903cc240b3",
     "material_removed": false
    },
    "published_at": "2026-10-15T19:50:50.000Z",
    "detected_at": "2026-10-15T19:54:13.479Z",
    "executed_at": "2026-11-07T00:34:26.848Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0269219b78f7",
     "display_name": "Bologna — Inter",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T16:00:00.000Z",
     "url": "/football/matches/bologna-vs-inter-2026-10-17/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.67",
     "our_snapshot": "1.6711",
     "our_snapshot_at": "2026-10-15T19:53:07.120Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6711,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T19:50:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T19:50:50.000Z",
     "detected_at": "2026-10-15T19:54:13.479Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.67",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.67"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Bologna 1-3 Inter."
    },
    "settlements": [
     {
      "operation_id": "6660a5106839d0f1a5e6e53f3d9b0adef08b3aada1ec202a99b63185b4f369e1",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.67",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6700,
      "executed_at": "2026-11-07T00:34:26.364Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "07320e60370d74191aaa216e61831ae1eb58154d8230284882ba68ce62b883bb",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.6711",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6711,
      "executed_at": "2026-11-07T00:34:26.848Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/bologna-vs-inter-milan-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-be469da15b5ef5d91dc86e6e",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-be469da15b5ef5d91dc86e6e",
   "match": "Bologna v Inter",
   "match_url": "/football/matches/bologna-vs-inter-2026-10-17/",
   "kickoff": "2026-10-17T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 44.1,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6993,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.6993",
   "published_at": "2026-10-15T19:50:50.000Z",
   "recorded_at": "2026-10-15T19:54:13.479Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6993",
    "result": "Won",
    "points_hundredths": 6993,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-be469da15b5ef5d91dc86e6e",
    "quote_text": "Both teams to score at 1.73 | Likelihood: High",
    "fragment_from": 3259,
    "fragment_to": 3305,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/bologna-vs-inter-milan-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5f8d669d751c27333707556444d2c6ef8d5b005e31bbf705b9247903cc240b3",
     "material_removed": false
    },
    "published_at": "2026-10-15T19:50:50.000Z",
    "detected_at": "2026-10-15T19:54:13.479Z",
    "executed_at": "2026-10-15T20:34:23.660Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0269219b78f7",
     "display_name": "Bologna — Inter",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T16:00:00.000Z",
     "url": "/football/matches/bologna-vs-inter-2026-10-17/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.6993",
     "our_snapshot_at": "2026-10-15T19:53:07.120Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6993,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T19:50:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T19:50:50.000Z",
     "detected_at": "2026-10-15T19:54:13.479Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.73",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.73"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Bologna 1-3 Inter."
    },
    "settlements": [
     {
      "operation_id": "74f9c717054ec91a26189c8a7d43c75844932ac71beb9d22513733c858aa6a81",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7300,
      "executed_at": "2026-10-15T20:34:21.860Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "362c839a716494f612ed33a8babb188ce2b647d08f616884abb7bb5205a326f3",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.6993",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6993,
      "executed_at": "2026-10-15T20:34:23.660Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/bologna-vs-inter-milan-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-604656af6f592efb2395c21b",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-604656af6f592efb2395c21b",
   "match": "Frosinone v Sassuolo",
   "match_url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
   "kickoff": "2026-10-16T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.7,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.4",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.4",
   "settled_price": "1.4000",
   "published_at": "2026-10-15T06:54:17.000Z",
   "recorded_at": "2026-10-15T07:04:13.697Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-604656af6f592efb2395c21b",
    "quote_text": "> BTTS – Yes at 1.40 | Likelihood: High",
    "fragment_from": 3526,
    "fragment_to": 3565,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "68e1055c2071e512842ae54766580888ac14f68c6fa47c68ca91112eaa136a00",
     "material_removed": false
    },
    "published_at": "2026-10-15T06:54:17.000Z",
    "detected_at": "2026-10-15T07:04:13.697Z",
    "executed_at": "2026-11-06T23:28:24.773Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d362eb8e26a8",
     "display_name": "Frosinone — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-10-16T18:45:00.000Z",
     "url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.4",
     "our_snapshot": "1.4000",
     "our_snapshot_at": "2026-10-15T07:02:26.019Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T06:54:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T06:54:17.000Z",
     "detected_at": "2026-10-15T07:04:13.697Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.4",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.4"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Frosinone 4-2 Sassuolo."
    },
    "settlements": [
     {
      "operation_id": "4e97de1d7424a7cd511de0ce5e7b1bf31b7d80785405cbf1fba6c7e3443be1fd",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.4",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4000,
      "executed_at": "2026-11-06T23:28:24.211Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ee6b9ec98215ff8086bca9238b244eab2016afa544871b62fdc33dc5da4dad20",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4000,
      "executed_at": "2026-11-06T23:28:24.773Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-b49c78ea7779d423e248b2e2",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-b49c78ea7779d423e248b2e2",
   "match": "Frosinone v Sassuolo",
   "match_url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
   "kickoff": "2026-10-16T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.7,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5 at 2.15",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.15",
   "settled_price": "2.15",
   "published_at": "2026-10-15T06:54:17.000Z",
   "recorded_at": "2026-10-15T07:04:13.697Z",
   "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-b49c78ea7779d423e248b2e2",
    "quote_text": "> Over 10.5 corners at 2.15 | Likelihood: Medium",
    "fragment_from": 3476,
    "fragment_to": 3524,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "68e1055c2071e512842ae54766580888ac14f68c6fa47c68ca91112eaa136a00",
     "material_removed": false
    },
    "published_at": "2026-10-15T06:54:17.000Z",
    "detected_at": "2026-10-15T07:04:13.697Z",
    "executed_at": "2026-11-06T23:28:24.959Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d362eb8e26a8",
     "display_name": "Frosinone — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-10-16T18:45:00.000Z",
     "url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 10.5 corners",
    "outcome_label": "over 10.5",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T06:54:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T06:54:17.000Z",
     "detected_at": "2026-10-15T07:04:13.697Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "author_odds": "2.15",
     "market_key": "corners_total",
     "choice_key": "over",
     "period": "match",
     "line": "10.5",
     "subject": "corners",
     "in_words": "Over/Under 10.5 corners: over 10.5 at 2.15"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost — corners 5-4 in the match (9 in total); the final score was Frosinone 4-2 Sassuolo."
    },
    "settlements": [
     {
      "operation_id": "aaacb27a6f97b9d41fbcc2e1a9a888f1b8cf6bab65e773558f3c4eea63c5f829",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": "2.15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T23:28:24.959Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ece7436d46c01861ecfd8b48c86be0f985c43497767569a8f59336a46ff41e2f",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 10.5 (Over/Under 10.5 corners)"
   }
  },
  {
   "record_id": "n-bad146035c0acfe1a37f6c60",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-bad146035c0acfe1a37f6c60",
   "match": "Frosinone v Sassuolo",
   "match_url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
   "kickoff": "2026-10-16T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.7,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4700,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.5",
   "settled_price": "1.4700",
   "published_at": "2026-10-15T06:54:17.000Z",
   "recorded_at": "2026-10-15T07:04:13.697Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bad146035c0acfe1a37f6c60",
    "quote_text": "> Over 2.5 goals at 1.50 | Likelihood: High",
    "fragment_from": 3431,
    "fragment_to": 3474,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "68e1055c2071e512842ae54766580888ac14f68c6fa47c68ca91112eaa136a00",
     "material_removed": false
    },
    "published_at": "2026-10-15T06:54:17.000Z",
    "detected_at": "2026-10-15T07:04:13.697Z",
    "executed_at": "2026-10-22T12:50:19.028Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d362eb8e26a8",
     "display_name": "Frosinone — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-10-16T18:45:00.000Z",
     "url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": "1.4700",
     "our_snapshot_at": "2026-10-15T07:00:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4700,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T06:54:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T06:54:17.000Z",
     "detected_at": "2026-10-15T07:04:13.697Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.5",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Frosinone 4-2 Sassuolo."
    },
    "settlements": [
     {
      "operation_id": "4a20b86b26988042fea69ccaab6f76531b2005171967ff9de29bea878864ba44",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-10-15T07:14:20.838Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8f22ae12285c8d9ef8f5a559746562baaab184ef5e10d96daac621815c5c8203",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.4700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4700,
      "executed_at": "2026-10-22T12:50:19.028Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-58c0021450afcfc8c1213986",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-58c0021450afcfc8c1213986",
   "match": "Frosinone v Sassuolo",
   "match_url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
   "kickoff": "2026-10-16T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.7,
   "market_code": "1x2",
   "author_said": "1X2, match result, first half: Frosinone at 3",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 18800,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3",
   "settled_price": "2.8800",
   "published_at": "2026-10-15T06:54:17.000Z",
   "recorded_at": "2026-10-15T07:04:13.697Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "X",
    "price": "2.4500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-58c0021450afcfc8c1213986",
    "quote_text": "> HT: Frosinone at 3.00 | Likelihood: Medium",
    "fragment_from": 3385,
    "fragment_to": 3429,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "68e1055c2071e512842ae54766580888ac14f68c6fa47c68ca91112eaa136a00",
     "material_removed": false
    },
    "published_at": "2026-10-15T06:54:17.000Z",
    "detected_at": "2026-10-15T07:04:13.697Z",
    "executed_at": "2026-10-15T07:14:20.781Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d362eb8e26a8",
     "display_name": "Frosinone — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-10-16T18:45:00.000Z",
     "url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result, first half",
    "outcome_label": "Frosinone",
    "odds_set": {
     "by_author": "3",
     "our_snapshot": "2.8800",
     "our_snapshot_at": "2026-10-15T07:02:26.019Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 18800,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T06:54:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T06:54:17.000Z",
     "detected_at": "2026-10-15T07:04:13.697Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result, first half",
     "choice": "Frosinone",
     "author_odds": "3",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "first_half",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result, first half: Frosinone at 3"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Frosinone 4-2 Sassuolo."
    },
    "settlements": [
     {
      "operation_id": "8f346fe1dacc85a718649e877656f8d872868ef4713fb8b4236a578e3d613039",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Frosinone",
      "decimal_odds": "3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 20000,
      "executed_at": "2026-10-15T07:14:19.808Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6310e26f50f65f4331924ccd64ff422d3da4321669856f4c7f167f7a55f05378",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Frosinone",
      "decimal_odds": "2.8800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 18800,
      "executed_at": "2026-10-15T07:14:20.781Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Frosinone to win"
   }
  },
  {
   "record_id": "n-551e3b5c6b4167f77799fa53",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-551e3b5c6b4167f77799fa53",
   "match": "Shakhtar Donetsk v AEK Athens",
   "match_url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 33.4,
   "market_code": "1x2",
   "author_said": "1X2, match result, first half: Shakhtar Donetsk at 3.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.25",
   "settled_price": "3.1500",
   "published_at": "2026-10-13T09:27:59.000Z",
   "recorded_at": "2026-10-13T09:34:13.281Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "X",
    "price": "2.2250",
    "result": "Won",
    "points_hundredths": 12250,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-551e3b5c6b4167f77799fa53",
    "quote_text": "> HT: Shakhtar Donetsk at 3.25 | Likelihood: Medium",
    "fragment_from": 3195,
    "fragment_to": 3246,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0fd38f90f121b1cb74ae1e627df33d808fb98af8ec63ba3b46e66358bed193d7",
     "material_removed": false
    },
    "published_at": "2026-10-13T09:27:59.000Z",
    "detected_at": "2026-10-13T09:34:13.281Z",
    "executed_at": "2026-10-13T09:35:55.490Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b903df1cf4c6",
     "display_name": "Shakhtar Donetsk — AEK Athens",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result, first half",
    "outcome_label": "Shakhtar Donetsk",
    "odds_set": {
     "by_author": "3.25",
     "our_snapshot": "3.1500",
     "our_snapshot_at": "2026-10-13T09:31:11.301Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-13T09:27:59.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T09:27:59.000Z",
     "detected_at": "2026-10-13T09:34:13.281Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result, first half",
     "choice": "Shakhtar Donetsk",
     "author_odds": "3.25",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "first_half",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result, first half: Shakhtar Donetsk at 3.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Shakhtar Donetsk 3-1 AEK Athens."
    },
    "settlements": [
     {
      "operation_id": "5a84bcefb6c8f9e02141de2f497c5cb6698ad9c37ce64c087e6434ac25639943",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Shakhtar Donetsk",
      "decimal_odds": "3.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-13T09:35:53.214Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7b56447baceb66ae6ef8d540bd7e998ee942c57bafac30253760713db5aac9b6",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Shakhtar Donetsk",
      "decimal_odds": "3.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-13T09:35:55.490Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Shakhtar Donetsk to win"
   }
  },
  {
   "record_id": "n-c21e57a3c6d989120376d5b6",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-c21e57a3c6d989120376d5b6",
   "match": "Shakhtar Donetsk v AEK Athens",
   "match_url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 33.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.5",
   "settled_price": "3.3900",
   "published_at": "2026-10-13T09:27:59.000Z",
   "recorded_at": "2026-10-13T09:34:13.281Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.6000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c21e57a3c6d989120376d5b6",
    "quote_text": "> Match result: Draw at 3.50 | Likelihood: Medium",
    "fragment_from": 3090,
    "fragment_to": 3139,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0fd38f90f121b1cb74ae1e627df33d808fb98af8ec63ba3b46e66358bed193d7",
     "material_removed": false
    },
    "published_at": "2026-10-13T09:27:59.000Z",
    "detected_at": "2026-10-13T09:34:13.281Z",
    "executed_at": "2026-10-13T09:35:55.583Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b903df1cf4c6",
     "display_name": "Shakhtar Donetsk — AEK Athens",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.5",
     "our_snapshot": "3.3900",
     "our_snapshot_at": "2026-10-13T09:31:11.301Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-13T09:27:59.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T09:27:59.000Z",
     "detected_at": "2026-10-13T09:34:13.281Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "3.5",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Shakhtar Donetsk 3-1 AEK Athens."
    },
    "settlements": [
     {
      "operation_id": "000594cb676e56b62abd0ee17938ba402207fa774563d93675d5c9e84c7b83ac",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-13T09:35:55.568Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "84f2be3c9d3215d60d4c1ff2ec5607d5bc56cf714a3e19ab1214407a7b704361",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-13T09:35:55.583Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-57c42b179e8805e75c8d288c",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-57c42b179e8805e75c8d288c",
   "match": "RB Leipzig v PSV Eindhoven",
   "match_url": "/football/matches/rb-leipzig-vs-psv-eindhoven-2026-10-13/",
   "kickoff": "2026-10-13T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 35.6,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: RB Leipzig win, both teams to score: yes at 2.63",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.63",
   "settled_price": "2.6100",
   "published_at": "2026-10-12T07:10:34.000Z",
   "recorded_at": "2026-10-12T07:24:13.254Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-57c42b179e8805e75c8d288c",
    "quote_text": "> RB Leipzig win + BTTS – Yes at 2.63 | Likelihood: Medium",
    "fragment_from": 3409,
    "fragment_to": 3467,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/rb-leipzig-vs-psv-eindhoven-13-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "748ba72dcd33b29499ad14384987e4efb1bf6537877c32ecad3df72655335654",
     "material_removed": false
    },
    "published_at": "2026-10-12T07:10:34.000Z",
    "detected_at": "2026-10-12T07:24:13.254Z",
    "executed_at": "2026-10-12T07:26:12.595Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0271fdbeeb0d",
     "display_name": "RB Leipzig — PSV Eindhoven",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T19:00:00.000Z",
     "url": "/football/matches/rb-leipzig-vs-psv-eindhoven-2026-10-13/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "RB Leipzig win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.63",
     "our_snapshot": "2.6100",
     "our_snapshot_at": "2026-10-12T07:20:23.914Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-12T07:10:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T07:10:34.000Z",
     "detected_at": "2026-10-12T07:24:13.254Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "RB Leipzig win, both teams to score: yes",
     "author_odds": "2.63",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: RB Leipzig win, both teams to score: yes at 2.63"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was RB Leipzig 1-0 PSV Eindhoven."
    },
    "settlements": [
     {
      "operation_id": "c230d219bf8ed4def28d58be76ce27f1fbe73aa8567f3ee2be0465d1331b2a05",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "RB Leipzig win, both teams to score: yes",
      "decimal_odds": "2.63",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-12T07:26:11.951Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "882ec7dba8e5cac9aed5d2849777f866cf075d0dde797a085c884fb931f0bf81",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "RB Leipzig win, both teams to score: yes",
      "decimal_odds": "2.6100",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-12T07:26:12.595Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-psv-eindhoven-13-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-de6bfbbd1e9f719980e63e38",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-de6bfbbd1e9f719980e63e38",
   "match": "RB Leipzig v PSV Eindhoven",
   "match_url": "/football/matches/rb-leipzig-vs-psv-eindhoven-2026-10-13/",
   "kickoff": "2026-10-13T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 35.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: RB Leipzig at 1.75",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7519,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.75",
   "settled_price": "1.7519",
   "published_at": "2026-10-12T07:10:34.000Z",
   "recorded_at": "2026-10-12T07:24:13.254Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.7519",
    "result": "Won",
    "points_hundredths": 7519,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-de6bfbbd1e9f719980e63e38",
    "quote_text": "> RB Leipzig to win at 1.75 | Likelihood: High",
    "fragment_from": 3361,
    "fragment_to": 3407,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/rb-leipzig-vs-psv-eindhoven-13-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "748ba72dcd33b29499ad14384987e4efb1bf6537877c32ecad3df72655335654",
     "material_removed": false
    },
    "published_at": "2026-10-12T07:10:34.000Z",
    "detected_at": "2026-10-12T07:24:13.254Z",
    "executed_at": "2026-10-12T07:26:14.085Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0271fdbeeb0d",
     "display_name": "RB Leipzig — PSV Eindhoven",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T19:00:00.000Z",
     "url": "/football/matches/rb-leipzig-vs-psv-eindhoven-2026-10-13/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "RB Leipzig",
    "odds_set": {
     "by_author": "1.75",
     "our_snapshot": "1.7519",
     "our_snapshot_at": "2026-10-12T07:23:37.356Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7519,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-12T07:10:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T07:10:34.000Z",
     "detected_at": "2026-10-12T07:24:13.254Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "RB Leipzig",
     "author_odds": "1.75",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: RB Leipzig at 1.75"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was RB Leipzig 1-0 PSV Eindhoven."
    },
    "settlements": [
     {
      "operation_id": "74af02de0e8f39d8944e669623e4e8aa1186cc82af437a249e0914d3945e773e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "RB Leipzig",
      "decimal_odds": "1.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7500,
      "executed_at": "2026-10-12T07:26:14.074Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9c02d4119cb5e25c73c121b2b4d3be3ca1689d0e6f39cc7d23bd43a716407d07",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "RB Leipzig",
      "decimal_odds": "1.7519",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7519,
      "executed_at": "2026-10-12T07:26:14.085Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-psv-eindhoven-13-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig to win"
   }
  },
  {
   "record_id": "n-2eb9649793b14ae2e512a767",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-2eb9649793b14ae2e512a767",
   "match": "Torino v Udinese",
   "match_url": "/football/matches/torino-vs-udinese-2026-10-12/",
   "kickoff": "2026-10-12T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.85",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7874,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.85",
   "settled_price": "1.7874",
   "published_at": "2026-10-11T09:24:08.000Z",
   "recorded_at": "2026-10-11T09:34:13.166Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2eb9649793b14ae2e512a767",
    "quote_text": "Both teams to score – Yes at 1.85 | Likelihood: High",
    "fragment_from": 3203,
    "fragment_to": 3255,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cef08ac8bad3dfc32d16d54fd74b88885ce5e1955628b2a2b6c1137d1dd2dd04",
     "material_removed": false
    },
    "published_at": "2026-10-11T09:24:08.000Z",
    "detected_at": "2026-10-11T09:34:13.166Z",
    "executed_at": "2026-11-06T22:36:40.258Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63a23007668d",
     "display_name": "Torino — Udinese",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T18:45:00.000Z",
     "url": "/football/matches/torino-vs-udinese-2026-10-12/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.85",
     "our_snapshot": "1.7874",
     "our_snapshot_at": "2026-10-11T09:32:45.002Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7874,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T09:24:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T09:24:08.000Z",
     "detected_at": "2026-10-11T09:34:13.166Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.85",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.85"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Torino 2-1 Udinese."
    },
    "settlements": [
     {
      "operation_id": "acc0419b0ac7cb2c6a9de0dee279524a12c004bbe35a9ee03b19cb909a57fb7e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.85",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8500,
      "executed_at": "2026-11-06T22:36:39.026Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "dfd04e8871fc21a2705e7dfd72fb181605dd8032e1478537817bd6b9ba9945b0",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.7874",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7874,
      "executed_at": "2026-11-06T22:36:40.258Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-bb04ec4cbe1cd986ef5d00ed",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-bb04ec4cbe1cd986ef5d00ed",
   "match": "Torino v Udinese",
   "match_url": "/football/matches/torino-vs-udinese-2026-10-12/",
   "kickoff": "2026-10-12T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.7092",
   "published_at": "2026-10-11T09:24:08.000Z",
   "recorded_at": "2026-10-11T09:34:13.166Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bb04ec4cbe1cd986ef5d00ed",
    "quote_text": "Under 2.5 goals at 1.73 | Likelihood: High",
    "fragment_from": 3157,
    "fragment_to": 3199,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cef08ac8bad3dfc32d16d54fd74b88885ce5e1955628b2a2b6c1137d1dd2dd04",
     "material_removed": false
    },
    "published_at": "2026-10-11T09:24:08.000Z",
    "detected_at": "2026-10-11T09:34:13.166Z",
    "executed_at": "2026-11-06T22:36:41.209Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63a23007668d",
     "display_name": "Torino — Udinese",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T18:45:00.000Z",
     "url": "/football/matches/torino-vs-udinese-2026-10-12/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.7092",
     "our_snapshot_at": "2026-10-11T09:32:45.002Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T09:24:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T09:24:08.000Z",
     "detected_at": "2026-10-11T09:34:13.166Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "1.73",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 1.73"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Torino 2-1 Udinese."
    },
    "settlements": [
     {
      "operation_id": "4d8dba614b66ea90bd40b43263ab64cb4b8a3b36527322bdfdd4ae56ce74212e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T22:36:40.659Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6df913e0960d503e37859b5a05a160dec18cdc7455a4a7054fba274a08a06460",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.7092",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T22:36:41.209Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-62298b79d7f5372c4365221c",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-62298b79d7f5372c4365221c",
   "match": "Torino v Udinese",
   "match_url": "/football/matches/torino-vs-udinese-2026-10-12/",
   "kickoff": "2026-10-12T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.1",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.1",
   "settled_price": "3.2000",
   "published_at": "2026-10-11T09:24:08.000Z",
   "recorded_at": "2026-10-11T09:34:13.166Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3300",
    "result": "Won",
    "points_hundredths": 13300,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-62298b79d7f5372c4365221c",
    "quote_text": "Match result: Draw at 3.10 | Likelihood: Medium",
    "fragment_from": 3106,
    "fragment_to": 3153,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cef08ac8bad3dfc32d16d54fd74b88885ce5e1955628b2a2b6c1137d1dd2dd04",
     "material_removed": false
    },
    "published_at": "2026-10-11T09:24:08.000Z",
    "detected_at": "2026-10-11T09:34:13.166Z",
    "executed_at": "2026-10-11T09:35:38.372Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63a23007668d",
     "display_name": "Torino — Udinese",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T18:45:00.000Z",
     "url": "/football/matches/torino-vs-udinese-2026-10-12/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.1",
     "our_snapshot": "3.2000",
     "our_snapshot_at": "2026-10-11T09:32:45.002Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T09:24:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T09:24:08.000Z",
     "detected_at": "2026-10-11T09:34:13.166Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "3.1",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.1"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Torino 2-1 Udinese."
    },
    "settlements": [
     {
      "operation_id": "f2716910b12368aaec8fb16233339740f608d53e10026fd0ad606f10c28af92f",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.1",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T09:35:33.333Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "69b686143019aeee30cfea038f3c562299033fed9a92a471d3c5ccfa77924148",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T09:35:38.372Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-6917b437913aa4b7cd4bfae5",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-6917b437913aa4b7cd4bfae5",
   "match": "Atalanta v Venezia",
   "match_url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
   "kickoff": "2026-10-12T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.6,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no at 2.3",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.3",
   "settled_price": "2.2800",
   "published_at": "2026-10-11T04:50:11.000Z",
   "recorded_at": "2026-10-11T04:54:39.130Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-6917b437913aa4b7cd4bfae5",
    "quote_text": "> Both teams to score – No at 2.30 | Likelihood: Medium",
    "fragment_from": 3471,
    "fragment_to": 3526,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a7db0eca52424139697f9733165456a833760bcbfbfed9d4233a50549222c41a",
     "material_removed": false
    },
    "published_at": "2026-10-11T04:50:11.000Z",
    "detected_at": "2026-10-11T04:54:39.130Z",
    "executed_at": "2026-11-06T22:29:18.485Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8702b9f6aca5",
     "display_name": "Atalanta — Venezia",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T16:30:00.000Z",
     "url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": "2.3",
     "our_snapshot": "2.2800",
     "our_snapshot_at": "2026-10-11T04:59:59.045Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T04:50:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T04:50:11.000Z",
     "detected_at": "2026-10-11T04:54:39.130Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "no",
     "author_odds": "2.3",
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no at 2.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Atalanta 3-1 Venezia."
    },
    "settlements": [
     {
      "operation_id": "d4ad9ec5b8e11a1a5bb1173b6e7aa1fe997b57d535b93acc328f2b9309d58bdc",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T22:29:16.986Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ed8f1f06c2b1896435027062f748f8aca46fdb8080d0f7a6b6acced828f0414c",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.2800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T22:29:18.485Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-e8bc0b993f674895f974455a",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-e8bc0b993f674895f974455a",
   "match": "Atalanta v Venezia",
   "match_url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
   "kickoff": "2026-10-12T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.6,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 2.45",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.45",
   "settled_price": "2.4200",
   "published_at": "2026-10-11T04:50:11.000Z",
   "recorded_at": "2026-10-11T04:54:39.130Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e8bc0b993f674895f974455a",
    "quote_text": "> Under 2.5 goals at 2.45 | Likelihood: Medium",
    "fragment_from": 3423,
    "fragment_to": 3469,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a7db0eca52424139697f9733165456a833760bcbfbfed9d4233a50549222c41a",
     "material_removed": false
    },
    "published_at": "2026-10-11T04:50:11.000Z",
    "detected_at": "2026-10-11T04:54:39.130Z",
    "executed_at": "2026-10-22T12:37:24.205Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8702b9f6aca5",
     "display_name": "Atalanta — Venezia",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T16:30:00.000Z",
     "url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "2.45",
     "our_snapshot": "2.4200",
     "our_snapshot_at": "2026-10-11T04:50:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T04:50:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T04:50:11.000Z",
     "detected_at": "2026-10-11T04:54:39.130Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "2.45",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 2.45"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Atalanta 3-1 Venezia."
    },
    "settlements": [
     {
      "operation_id": "f7c7b09c4fe3ff6edecc052c0f8436cc60b8d6ceaaa0f067206d277bf792b08e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.45",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T04:58:05.223Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a2e0f53f5d7810e3e118eebe3bc7e06923c4a7bf0b05c3e5971b2ef2039e0453",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.4200",
      "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:37:24.205Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-7307f7ec696ee290123dc865",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-7307f7ec696ee290123dc865",
   "match": "Atalanta v Venezia",
   "match_url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
   "kickoff": "2026-10-12T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Atalanta at 1.57",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5714,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.57",
   "settled_price": "1.5714",
   "published_at": "2026-10-11T04:50:11.000Z",
   "recorded_at": "2026-10-11T04:54:39.130Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5714",
    "result": "Won",
    "points_hundredths": 5714,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7307f7ec696ee290123dc865",
    "quote_text": "> Match result: Atalanta win at 1.57 | Likelihood: High",
    "fragment_from": 3366,
    "fragment_to": 3421,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a7db0eca52424139697f9733165456a833760bcbfbfed9d4233a50549222c41a",
     "material_removed": false
    },
    "published_at": "2026-10-11T04:50:11.000Z",
    "detected_at": "2026-10-11T04:54:39.130Z",
    "executed_at": "2026-10-11T05:10:28.293Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8702b9f6aca5",
     "display_name": "Atalanta — Venezia",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T16:30:00.000Z",
     "url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Atalanta",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5714",
     "our_snapshot_at": "2026-10-11T04:59:59.045Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5714,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T04:50:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T04:50:11.000Z",
     "detected_at": "2026-10-11T04:54:39.130Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Atalanta",
     "author_odds": "1.57",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Atalanta at 1.57"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Atalanta 3-1 Venezia."
    },
    "settlements": [
     {
      "operation_id": "3cf73e83d462341d2e0d6239c9a59e5bbfcff737ff2936ff84017db5cd18c42b",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Atalanta",
      "decimal_odds": "1.57",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5700,
      "executed_at": "2026-10-11T04:58:02.715Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "224ccc1cdecdbe3ce3fa5827aafe4c15d5ce00c89e0ac5793e585d246f7bfcec",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Atalanta",
      "decimal_odds": "1.5714",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5714,
      "executed_at": "2026-10-11T05:10:28.293Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atalanta to win"
   }
  },
  {
   "record_id": "n-851d62b9093c2c62539c6d55",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-851d62b9093c2c62539c6d55",
   "match": "Cagliari v Juventus",
   "match_url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
   "kickoff": "2026-10-11T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.8",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 28500,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.8",
   "settled_price": "3.8500",
   "published_at": "2026-10-10T08:37:16.000Z",
   "recorded_at": "2026-10-10T08:59:19.007Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.5556",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-851d62b9093c2c62539c6d55",
    "quote_text": "Match result: Draw at 3.80 | Likelihood: Medium",
    "fragment_from": 3538,
    "fragment_to": 3585,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8b9bb24173d4a55e8947ad25079fd4ea44bdd10f1d3e5d2a1fe31344c9f83db",
     "material_removed": false
    },
    "published_at": "2026-10-10T08:37:16.000Z",
    "detected_at": "2026-10-10T08:59:19.007Z",
    "executed_at": "2026-10-10T23:10:46.464Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c6ff28609cbc",
     "display_name": "Cagliari — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T18:45:00.000Z",
     "url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.8",
     "our_snapshot": "3.8500",
     "our_snapshot_at": "2026-10-10T09:02:08.290Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 28500,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T08:37:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T08:37:16.000Z",
     "detected_at": "2026-10-10T08:59:19.007Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "3.8",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.8"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Cagliari 1-1 Juventus."
    },
    "settlements": [
     {
      "operation_id": "92e2d34ac8d26bab5bb849b2da52bc4120d097be6fe7c383f78e9a9b9c4e94aa",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 28000,
      "executed_at": "2026-10-10T09:00:45.685Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "da49db3c4e0243e4e520f3e071163bdebf9952ecad3c8ebbc1b004bf13442796",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.8500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 28500,
      "executed_at": "2026-10-10T23:10:46.464Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-13e9202d1d16ee0579a1d2ea",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-13e9202d1d16ee0579a1d2ea",
   "match": "Cagliari v Juventus",
   "match_url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
   "kickoff": "2026-10-11T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.8,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 1.83",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7812,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.83",
   "settled_price": "1.7812",
   "published_at": "2026-10-10T08:37:16.000Z",
   "recorded_at": "2026-10-10T08:59:19.007Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "under",
    "price": "1.7812",
    "result": "Won",
    "points_hundredths": 7812,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-13e9202d1d16ee0579a1d2ea",
    "quote_text": "Under 2.5 goals at 1.83 | Likelihood: High",
    "fragment_from": 3436,
    "fragment_to": 3478,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8b9bb24173d4a55e8947ad25079fd4ea44bdd10f1d3e5d2a1fe31344c9f83db",
     "material_removed": false
    },
    "published_at": "2026-10-10T08:37:16.000Z",
    "detected_at": "2026-10-10T08:59:19.007Z",
    "executed_at": "2026-10-10T23:10:46.413Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c6ff28609cbc",
     "display_name": "Cagliari — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T18:45:00.000Z",
     "url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "1.83",
     "our_snapshot": "1.7812",
     "our_snapshot_at": "2026-10-10T09:02:08.290Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7812,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T08:37:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T08:37:16.000Z",
     "detected_at": "2026-10-10T08:59:19.007Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "1.83",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 1.83"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Cagliari 1-1 Juventus."
    },
    "settlements": [
     {
      "operation_id": "a5563baba567adfbd47951c5ba1d271ff306e67080bdfe3a7bd06a1b3e855ee6",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.83",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8300,
      "executed_at": "2026-10-10T09:00:45.620Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "854e8cbcfafd474a87b5e474ce4ac768115e554feb60a42deacb26ea02728a5e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "1.7812",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7812,
      "executed_at": "2026-10-10T23:10:46.413Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-ed4f2f1ba5ee5856d9176739",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-ed4f2f1ba5ee5856d9176739",
   "match": "Cagliari v Juventus",
   "match_url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
   "kickoff": "2026-10-11T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2.05",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9855,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.05",
   "settled_price": "1.9855",
   "published_at": "2026-10-10T08:37:16.000Z",
   "recorded_at": "2026-10-10T08:59:19.007Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "no",
    "price": "1.7436",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ed4f2f1ba5ee5856d9176739",
    "quote_text": "Both teams to score at 2.05 | Likelihood: High",
    "fragment_from": 3386,
    "fragment_to": 3432,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8b9bb24173d4a55e8947ad25079fd4ea44bdd10f1d3e5d2a1fe31344c9f83db",
     "material_removed": false
    },
    "published_at": "2026-10-10T08:37:16.000Z",
    "detected_at": "2026-10-10T08:59:19.007Z",
    "executed_at": "2026-10-10T23:10:46.394Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c6ff28609cbc",
     "display_name": "Cagliari — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T18:45:00.000Z",
     "url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2.05",
     "our_snapshot": "1.9855",
     "our_snapshot_at": "2026-10-10T09:02:08.290Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 9855,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T08:37:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T08:37:16.000Z",
     "detected_at": "2026-10-10T08:59:19.007Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "2.05",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2.05"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Cagliari 1-1 Juventus."
    },
    "settlements": [
     {
      "operation_id": "445c30f8753381e7672bf5e8160ff4802a887bff4c3d10f519999650d97b6a69",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "2.05",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10500,
      "executed_at": "2026-10-10T09:00:45.729Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "41a989674193c52eb6965a936e4b2b017c31993c3b088997ce98a52382dfbb91",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.9855",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9855,
      "executed_at": "2026-10-10T23:10:46.394Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-b227e3c8b3fc504fc45226a7",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-b227e3c8b3fc504fc45226a7",
   "match": "Sassuolo v AC Milan",
   "match_url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
   "kickoff": "2026-10-11T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.5,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5 at 4",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "4",
   "settled_price": "4",
   "published_at": "2026-10-10T05:37:44.000Z",
   "recorded_at": "2026-10-10T05:27:16.311Z",
   "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-b227e3c8b3fc504fc45226a7",
    "quote_text": "Over 10.5 corners at 4.00 | Likelihood: Medium",
    "fragment_from": 3588,
    "fragment_to": 3634,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d6aba876e0a4790cd93654211b9b923b2024a098ac6d26c8ecc3aded74e875c7",
     "material_removed": false
    },
    "published_at": "2026-10-10T05:37:44.000Z",
    "detected_at": "2026-10-10T05:27:16.311Z",
    "executed_at": "2026-10-10T05:32:44.722Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6daf1549fb1e",
     "display_name": "Sassuolo — AC Milan",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T16:00:00.000Z",
     "url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 10.5 corners",
    "outcome_label": "over 10.5",
    "odds_set": {
     "by_author": "4",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T05:37:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T05:37:44.000Z",
     "detected_at": "2026-10-10T05:27:16.311Z",
     "archive_snapshot_at": null,
     "flags": [
      "after_detection"
     ],
     "flag_words": "The source's date is later than our first capture.",
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "author_odds": "4",
     "market_key": "corners_total",
     "choice_key": "over",
     "period": "match",
     "line": "10.5",
     "subject": "corners",
     "in_words": "Over/Under 10.5 corners: over 10.5 at 4"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost — corners 3-5 in the match (8 in total); the final score was Sassuolo 1-1 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "66afc97efd3f1a9c7126fcd37d97d3bff4fed6496b7e8929e169a9ca6c26b839",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": "4",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T05:32:44.722Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "f33e74acec6b595103ce24ce6e2fe4f6dad74da36b9735b2f8fee14c2aef4131",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 10.5 (Over/Under 10.5 corners)"
   }
  },
  {
   "record_id": "n-0d4b9d2b577a88b8043fffbe",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-0d4b9d2b577a88b8043fffbe",
   "match": "Sassuolo v AC Milan",
   "match_url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
   "kickoff": "2026-10-11T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6667,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.6667",
   "published_at": "2026-10-10T05:37:44.000Z",
   "recorded_at": "2026-10-10T05:27:16.311Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6667",
    "result": "Won",
    "points_hundredths": 6667,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0d4b9d2b577a88b8043fffbe",
    "quote_text": "Both teams to score at 1.73 | Likelihood: High",
    "fragment_from": 3493,
    "fragment_to": 3539,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d6aba876e0a4790cd93654211b9b923b2024a098ac6d26c8ecc3aded74e875c7",
     "material_removed": false
    },
    "published_at": "2026-10-10T05:37:44.000Z",
    "detected_at": "2026-10-10T05:27:16.311Z",
    "executed_at": "2026-10-10T23:11:01.470Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6daf1549fb1e",
     "display_name": "Sassuolo — AC Milan",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T16:00:00.000Z",
     "url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.6667",
     "our_snapshot_at": "2026-10-10T05:37:17.355Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6667,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T05:37:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T05:37:44.000Z",
     "detected_at": "2026-10-10T05:27:16.311Z",
     "archive_snapshot_at": null,
     "flags": [
      "after_detection"
     ],
     "flag_words": "The source's date is later than our first capture.",
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.73",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.73"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Sassuolo 1-1 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "1a448915387577397b4a09a80553fc977e0c9a1cd1693d6ddb571b14daa78a24",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7300,
      "executed_at": "2026-10-10T05:32:43.761Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "60ef9cdb02f136fa6eb9c4a08b0de50716dd73fa569110656584dc0f8d97d800",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.6667",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6667,
      "executed_at": "2026-10-10T23:11:01.470Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-22810670398b6dcef707f0ce",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-22810670398b6dcef707f0ce",
   "match": "SSC Napoli v Frosinone",
   "match_url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4700,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.5",
   "settled_price": "1.4700",
   "published_at": "2026-10-09T08:30:58.000Z",
   "recorded_at": "2026-10-09T08:41:48.059Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-22810670398b6dcef707f0ce",
    "quote_text": "making Over 2.5 goals at 1.50 a decent offer.",
    "fragment_from": 3529,
    "fragment_to": 3574,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f956bba46a7ffe5081eedfdad15301f0fb72291883af00cb5716c01fed0f96fc",
     "material_removed": false
    },
    "published_at": "2026-10-09T08:30:58.000Z",
    "detected_at": "2026-10-09T08:41:48.059Z",
    "executed_at": "2026-10-22T11:12:51.967Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f48d1ed42fc3",
     "display_name": "SSC Napoli — Frosinone",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": "1.4700",
     "our_snapshot_at": "2026-10-09T08:40:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4700,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T08:30:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T08:30:58.000Z",
     "detected_at": "2026-10-09T08:41:48.059Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.5",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was SSC Napoli 3-0 Frosinone."
    },
    "settlements": [
     {
      "operation_id": "2fe123430a05a811df8ffa49aa8418c409376862e35f01ce3faf7afdcbbced92",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-10-09T09:00:45.880Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c39208c17d5da542a3add847bcdbad9a5b6dcdfd822ee253147713a1cc83a66c",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.4700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4700,
      "executed_at": "2026-10-22T11:12:51.967Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-0e76aafd479c8e482a354bcd",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-0e76aafd479c8e482a354bcd",
   "match": "SSC Napoli v Frosinone",
   "match_url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.1,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.65",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.65",
   "settled_price": "1.6351",
   "published_at": "2026-10-09T08:30:58.000Z",
   "recorded_at": "2026-10-09T08:41:48.059Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6351",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0e76aafd479c8e482a354bcd",
    "quote_text": "making BTTS – Yes at 1.65 a tempting option.",
    "fragment_from": 3393,
    "fragment_to": 3437,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f956bba46a7ffe5081eedfdad15301f0fb72291883af00cb5716c01fed0f96fc",
     "material_removed": false
    },
    "published_at": "2026-10-09T08:30:58.000Z",
    "detected_at": "2026-10-09T08:41:48.059Z",
    "executed_at": "2026-10-10T23:35:07.109Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f48d1ed42fc3",
     "display_name": "SSC Napoli — Frosinone",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.65",
     "our_snapshot": "1.6351",
     "our_snapshot_at": "2026-10-09T08:45:17.779Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T08:30:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T08:30:58.000Z",
     "detected_at": "2026-10-09T08:41:48.059Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.65",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.65"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was SSC Napoli 3-0 Frosinone."
    },
    "settlements": [
     {
      "operation_id": "16b0b47b2476f5250f16bb1c2a323790db2fec0171d41a859fd23ee6850ca2f1",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.65",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T09:00:45.817Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1d1f4c1f3aca31038f7fd441cca63d1055f1b95c1b797226eb4b63b9bf0eb1d7",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.6351",
      "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.109Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-bbe223ee84d147ef971e65b0",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-bbe223ee84d147ef971e65b0",
   "match": "Inter v Parma",
   "match_url": "/football/matches/inter-vs-parma-2026-10-10/",
   "kickoff": "2026-10-10T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.3,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Inter win, both teams to score: yes at 2.75",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.75",
   "settled_price": "2.75",
   "published_at": "2026-10-09T05:37:02.000Z",
   "recorded_at": "2026-10-09T05:43:01.585Z",
   "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-bbe223ee84d147ef971e65b0",
    "quote_text": "> Inter win + BTTS – Yes at 2.75 | Likelihood: Medium",
    "fragment_from": 3627,
    "fragment_to": 3680,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4824610431329f6562993b37b3be0bd80f2771624d4333a62f2082b995ac8593",
     "material_removed": false
    },
    "published_at": "2026-10-09T05:37:02.000Z",
    "detected_at": "2026-10-09T05:43:01.585Z",
    "executed_at": "2026-10-09T11:55:41.776Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e2d306934e5f",
     "display_name": "Inter — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T16:00:00.000Z",
     "url": "/football/matches/inter-vs-parma-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Inter win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.75",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T05:37:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T05:37:02.000Z",
     "detected_at": "2026-10-09T05:43:01.585Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "Inter win, both teams to score: yes",
     "author_odds": "2.75",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Inter win, both teams to score: yes at 2.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Inter 3-0 Parma."
    },
    "settlements": [
     {
      "operation_id": "9b82ce5630b9bcc06f5635fca6407ab7183fdf017feb086946f47cfefc50ea34",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Inter win, both teams to score: yes",
      "decimal_odds": "2.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T11:55:41.776Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "38af1ee2f5612f32f26d4b45ee38b7f1548dd05679cf1003587092efaf584b0a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Inter win, both teams to score: yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-80616e5790a2e216d8581b64",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-80616e5790a2e216d8581b64",
   "match": "Inter v Parma",
   "match_url": "/football/matches/inter-vs-parma-2026-10-10/",
   "kickoff": "2026-10-10T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.25",
   "settled_price": "2.1400",
   "published_at": "2026-10-09T05:37:02.000Z",
   "recorded_at": "2026-10-09T05:43:01.585Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "no",
    "price": "1.6667",
    "result": "Won",
    "points_hundredths": 6667,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-80616e5790a2e216d8581b64",
    "quote_text": "> Both teams to score – yes at 2.25 | Likelihood: Medium",
    "fragment_from": 3569,
    "fragment_to": 3625,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4824610431329f6562993b37b3be0bd80f2771624d4333a62f2082b995ac8593",
     "material_removed": false
    },
    "published_at": "2026-10-09T05:37:02.000Z",
    "detected_at": "2026-10-09T05:43:01.585Z",
    "executed_at": "2026-10-10T23:35:07.457Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e2d306934e5f",
     "display_name": "Inter — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T16:00:00.000Z",
     "url": "/football/matches/inter-vs-parma-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": "2.1400",
     "our_snapshot_at": "2026-10-09T05:44:39.947Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T05:37:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T05:37:02.000Z",
     "detected_at": "2026-10-09T05:43:01.585Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "2.25",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Inter 3-0 Parma."
    },
    "settlements": [
     {
      "operation_id": "d8496d92114cf0c9629b50786a9de62a5d8fd949f2bdc1679f9ca34375b6dde2",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "2.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T11:55:41.194Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "53dda787df4ee807d9087bff422249008464ca619c6426b52fe71cf6cf4dd70e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "2.1400",
      "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.457Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-cb0f5f59ffd55e3ee0aad359",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-cb0f5f59ffd55e3ee0aad359",
   "match": "Inter v Parma",
   "match_url": "/football/matches/inter-vs-parma-2026-10-10/",
   "kickoff": "2026-10-10T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.3,
   "market_code": "1x2",
   "author_said": "1X2, match result, first half: Inter at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4348,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.5",
   "settled_price": "1.4348",
   "published_at": "2026-10-09T05:37:02.000Z",
   "recorded_at": "2026-10-09T05:43:01.585Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.4348",
    "result": "Won",
    "points_hundredths": 4348,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-cb0f5f59ffd55e3ee0aad359",
    "quote_text": "> HT winner: Inter Milan at 1.50 | Likelihood: High",
    "fragment_from": 3467,
    "fragment_to": 3518,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4824610431329f6562993b37b3be0bd80f2771624d4333a62f2082b995ac8593",
     "material_removed": false
    },
    "published_at": "2026-10-09T05:37:02.000Z",
    "detected_at": "2026-10-09T05:43:01.585Z",
    "executed_at": "2026-10-10T23:35:07.452Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e2d306934e5f",
     "display_name": "Inter — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T16:00:00.000Z",
     "url": "/football/matches/inter-vs-parma-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result, first half",
    "outcome_label": "Inter",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": "1.4348",
     "our_snapshot_at": "2026-10-09T05:44:39.947Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4348,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T05:37:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T05:37:02.000Z",
     "detected_at": "2026-10-09T05:43:01.585Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result, first half",
     "choice": "Inter",
     "author_odds": "1.5",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "first_half",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result, first half: Inter at 1.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Inter 3-0 Parma."
    },
    "settlements": [
     {
      "operation_id": "3ed9719e580a81cca3a782dbce02e37430ccd01171ce5a5c95915feb0561d5e7",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Inter",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-10-09T11:55:41.941Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9c548914598d268f2928b2f4461f84a2d65879f492a6aae7fbc958d723e7bc5b",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Inter",
      "decimal_odds": "1.4348",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4348,
      "executed_at": "2026-10-10T23:35:07.452Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter to win"
   }
  },
  {
   "record_id": "n-b38c01471cde449d496a382a",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-b38c01471cde449d496a382a",
   "match": "Ipswich Town v Fulham",
   "match_url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 33.7,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.62",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5747,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.62",
   "settled_price": "1.5747",
   "published_at": "2026-10-09T04:04:57.000Z",
   "recorded_at": "2026-10-09T04:15:33.202Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.5747",
    "result": "Won",
    "points_hundredths": 5747,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b38c01471cde449d496a382a",
    "quote_text": "> Both teams to score – yes at 1.62 | Likelihood: High",
    "fragment_from": 3754,
    "fragment_to": 3808,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6cd515b1236b9714e1130ee2e8bfcec49dcff986e384a596b3d151d9547f5ae4",
     "material_removed": false
    },
    "published_at": "2026-10-09T04:04:57.000Z",
    "detected_at": "2026-10-09T04:15:33.202Z",
    "executed_at": "2026-10-10T23:35:07.492Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-094908148541",
     "display_name": "Ipswich Town — Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.62",
     "our_snapshot": "1.5747",
     "our_snapshot_at": "2026-10-09T04:11:20.187Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5747,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T04:04:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T04:04:57.000Z",
     "detected_at": "2026-10-09T04:15:33.202Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.62",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.62"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Ipswich Town 2-1 Fulham."
    },
    "settlements": [
     {
      "operation_id": "18d4fc1207f0ae0b2a1917b293be272d505bb0e0bbe9e867b40be272e7cee6a3",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.62",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6200,
      "executed_at": "2026-10-09T04:17:52.778Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d9c43cf52c06f6aa6f561b36db4738b38c8cdd223547487e218d104ea71a6927",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5747",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5747,
      "executed_at": "2026-10-10T23:35:07.492Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-0cdd3931f16aab59cfdf2840",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-0cdd3931f16aab59cfdf2840",
   "match": "Ipswich Town v Fulham",
   "match_url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 33.7,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.75",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7407,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.75",
   "settled_price": "1.7407",
   "published_at": "2026-10-09T04:04:57.000Z",
   "recorded_at": "2026-10-09T04:15:33.202Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.7407",
    "result": "Won",
    "points_hundredths": 7407,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0cdd3931f16aab59cfdf2840",
    "quote_text": "> Over 2.5 goals at 1.75 | Likelihood: Medium",
    "fragment_from": 3707,
    "fragment_to": 3752,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6cd515b1236b9714e1130ee2e8bfcec49dcff986e384a596b3d151d9547f5ae4",
     "material_removed": false
    },
    "published_at": "2026-10-09T04:04:57.000Z",
    "detected_at": "2026-10-09T04:15:33.202Z",
    "executed_at": "2026-10-10T23:35:07.487Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-094908148541",
     "display_name": "Ipswich Town — Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.75",
     "our_snapshot": "1.7407",
     "our_snapshot_at": "2026-10-09T04:11:20.187Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7407,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T04:04:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T04:04:57.000Z",
     "detected_at": "2026-10-09T04:15:33.202Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.75",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.75"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Ipswich Town 2-1 Fulham."
    },
    "settlements": [
     {
      "operation_id": "a19ca412a9fd817a91b85f99841fb1472d5f46006b66438bbb572121212253d2",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7500,
      "executed_at": "2026-10-09T04:17:52.658Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9d3529f313217c71954762c8e3dbb8135a551c5f563f1c6b105d693ec39ed431",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.7407",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7407,
      "executed_at": "2026-10-10T23:35:07.487Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-7fef5afdbb381c3bdfeb6dac",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-7fef5afdbb381c3bdfeb6dac",
   "match": "Ipswich Town v Fulham",
   "match_url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 33.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.4",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.4",
   "settled_price": "3.5000",
   "published_at": "2026-10-09T04:04:57.000Z",
   "recorded_at": "2026-10-09T04:15:33.202Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.4400",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7fef5afdbb381c3bdfeb6dac",
    "quote_text": "making another draw at 3.40 a potential outcome.",
    "fragment_from": 3074,
    "fragment_to": 3122,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6cd515b1236b9714e1130ee2e8bfcec49dcff986e384a596b3d151d9547f5ae4",
     "material_removed": false
    },
    "published_at": "2026-10-09T04:04:57.000Z",
    "detected_at": "2026-10-09T04:15:33.202Z",
    "executed_at": "2026-10-10T23:35:07.482Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-094908148541",
     "display_name": "Ipswich Town — Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.4",
     "our_snapshot": "3.5000",
     "our_snapshot_at": "2026-10-09T04:11:20.187Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T04:04:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T04:04:57.000Z",
     "detected_at": "2026-10-09T04:15:33.202Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "3.4",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.4"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Ipswich Town 2-1 Fulham."
    },
    "settlements": [
     {
      "operation_id": "bf2e96cee7e981a3eada900b3a4f534a8ddcba09003127fff7f613f2fa1341f9",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T04:17:52.716Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9ad478a31af4cabda9f3142e39a3c8110a2f68fcb256c4100a52f19bf46023d8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "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-10T23:35:07.482Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-1a35d9debace40df80368c10",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-1a35d9debace40df80368c10",
   "match": "Aston Villa v Brentford",
   "match_url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 34.8,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: draw, both teams to score: yes at 4.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 30000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "4.5",
   "settled_price": "4.0000",
   "published_at": "2026-10-09T02:59:49.000Z",
   "recorded_at": "2026-10-09T03:09:01.286Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1a35d9debace40df80368c10",
    "quote_text": "> Draw + BTTS – Yes at 4.50 | Likelihood: Medium",
    "fragment_from": 3679,
    "fragment_to": 3727,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef7982fb09e8831603b8635594bc27b276b97be2a42025959b9d48f7b9589496",
     "material_removed": false
    },
    "published_at": "2026-10-09T02:59:49.000Z",
    "detected_at": "2026-10-09T03:09:01.286Z",
    "executed_at": "2026-10-10T23:35:07.539Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-60e403153fd3",
     "display_name": "Aston Villa — Brentford",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "draw, both teams to score: yes",
    "odds_set": {
     "by_author": "4.5",
     "our_snapshot": "4.0000",
     "our_snapshot_at": "2026-10-09T03:06:07.227Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 30000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T02:59:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T02:59:49.000Z",
     "detected_at": "2026-10-09T03:09:01.286Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "draw, both teams to score: yes",
     "author_odds": "4.5",
     "market_key": "both_teams_score_and_result",
     "choice_key": "X-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: draw, both teams to score: yes at 4.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Aston Villa 2-2 Brentford."
    },
    "settlements": [
     {
      "operation_id": "177e3b9d76c9e4281f140018a54dff5c34c4e988dc802a51debcefb0dde22979",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "draw, both teams to score: yes",
      "decimal_odds": "4.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 35000,
      "executed_at": "2026-10-09T03:12:36.687Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a6ebf6e5f0c56cdb44536de4316dfc8d00e69898c2327eb364d07471d66cda4f",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "draw, both teams to score: yes",
      "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-10-10T23:35:07.539Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw, both teams to score: yes"
   }
  },
  {
   "record_id": "n-e755482c74564ce9bf56a5e7",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-e755482c74564ce9bf56a5e7",
   "match": "Aston Villa v Brentford",
   "match_url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 34.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.57",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5450,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.57",
   "settled_price": "1.5450",
   "published_at": "2026-10-09T02:59:49.000Z",
   "recorded_at": "2026-10-09T03:09:01.286Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.5450",
    "result": "Won",
    "points_hundredths": 5450,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e755482c74564ce9bf56a5e7",
    "quote_text": "> Both teams to score – yes at 1.57 | Likelihood: High",
    "fragment_from": 3623,
    "fragment_to": 3677,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef7982fb09e8831603b8635594bc27b276b97be2a42025959b9d48f7b9589496",
     "material_removed": false
    },
    "published_at": "2026-10-09T02:59:49.000Z",
    "detected_at": "2026-10-09T03:09:01.286Z",
    "executed_at": "2026-10-10T23:35:07.534Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-60e403153fd3",
     "display_name": "Aston Villa — Brentford",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5450",
     "our_snapshot_at": "2026-10-09T03:05:48.899Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5450,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T02:59:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T02:59:49.000Z",
     "detected_at": "2026-10-09T03:09:01.286Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.57",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.57"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Aston Villa 2-2 Brentford."
    },
    "settlements": [
     {
      "operation_id": "5211bbb38242b6bc6b6719d814ca4db941f34b58151b2c6831a05e532dde8f53",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.57",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5700,
      "executed_at": "2026-10-09T03:12:36.853Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6a747d5a7bc02017efdab02385d516e79dcb0f5acdbbd2f2a875a594ec7910e6",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5450",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5450,
      "executed_at": "2026-10-10T23:35:07.534Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-a97db35e88a770fda8c4df62",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-a97db35e88a770fda8c4df62",
   "match": "Aston Villa v Brentford",
   "match_url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 34.8,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6289,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.6289",
   "published_at": "2026-10-09T02:59:49.000Z",
   "recorded_at": "2026-10-09T03:09:01.286Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.6289",
    "result": "Won",
    "points_hundredths": 6289,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a97db35e88a770fda8c4df62",
    "quote_text": "> Over 2.5 goals at 1.73 | Likelihood: Medium",
    "fragment_from": 3576,
    "fragment_to": 3621,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef7982fb09e8831603b8635594bc27b276b97be2a42025959b9d48f7b9589496",
     "material_removed": false
    },
    "published_at": "2026-10-09T02:59:49.000Z",
    "detected_at": "2026-10-09T03:09:01.286Z",
    "executed_at": "2026-10-10T23:35:07.529Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-60e403153fd3",
     "display_name": "Aston Villa — Brentford",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.6289",
     "our_snapshot_at": "2026-10-09T03:05:48.899Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6289,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T02:59:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T02:59:49.000Z",
     "detected_at": "2026-10-09T03:09:01.286Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.73",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.73"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Aston Villa 2-2 Brentford."
    },
    "settlements": [
     {
      "operation_id": "9336af49280389e8d65d078370d11226cc7ca5697132a118aa0ad3255abbf30e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7300,
      "executed_at": "2026-10-09T03:12:36.794Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ef3427adc1a2fbfd4c71948dd0908acd6e74de3b6b85e05ab580cf179d8f0876",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.6289",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6289,
      "executed_at": "2026-10-10T23:35:07.529Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-d7b7d45a09fe29a81a8c35c5",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-d7b7d45a09fe29a81a8c35c5",
   "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": 31.3,
   "market_code": "player_to_score",
   "author_said": "Player to score: Christopher Nkunku to score at 2.1",
   "quote": null,
   "group": "pending",
   "outcome": "Pending",
   "claim_outcome": null,
   "final_score": "4-0",
   "reason": "the match is played; settlement follows",
   "reason_code": "waiting",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T05:58:41.000Z",
   "recorded_at": "2026-10-23T06:14:17.204Z",
   "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-d7b7d45a09fe29a81a8c35c5",
    "quote_text": "Christopher Nkunku to score anytime at 2.10 | Likelihood: High",
    "fragment_from": 3294,
    "fragment_to": 3356,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
     "material_removed": false
    },
    "published_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "executed_at": "2026-10-24T00:45:42.704Z",
    "statement_class": "priced",
    "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": "Player to score",
    "outcome_label": "Christopher Nkunku to score",
    "odds_set": {
     "by_author": "2.1",
     "our_snapshot": "2.0000",
     "our_snapshot_at": "2026-10-23T06:12:38.003Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": 0,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T05:58:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T05:58:41.000Z",
     "detected_at": "2026-10-23T06:14:17.204Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Christopher Nkunku to score",
     "author_odds": "2.1",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Christopher Nkunku to score at 2.1"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": "4-0",
     "data_status": "unknown",
     "cause": "the result data received so far does not include the player statistics this market needs",
     "methodology_version": "2.2",
     "in_words": "Pending: the result data received so far does not include the player statistics this market needs."
    },
    "settlements": [
     {
      "operation_id": "1cebb9cc373b8aaaf7ab3add1109f036d755762ecaca3b286a06a201005eb173",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Christopher Nkunku to score",
      "decimal_odds": "2.1",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-10-23T06:44:29.809Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "adce5c486760ca9ce48b832cce2e0f28a2362524a488ab472449fec1941b4459",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Christopher Nkunku to score",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-10-24T00:45:42.704Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "qualifying_pick",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Christopher Nkunku to score"
   }
  },
  {
   "record_id": "n-a7bf978f88985b5d8b949761",
   "url": "/authors/saikat-mandal/picks/10/#pick-n-a7bf978f88985b5d8b949761",
   "match": "Al-Nassr Riyadh v Al Wasl SC",
   "match_url": "/football/matches/al-nassr-riyadh-vs-al-wasl-sc-2026-10-26/",
   "kickoff": "2026-10-26T18:15:00.000Z",
   "competition": "AFC Champions League Elite",
   "lead_hours": 50.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Al-Nassr Riyadh 2-1 Al Wasl SC",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Postponed",
   "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-10-24T15:28:58.000Z",
   "recorded_at": "2026-10-24T16:10:43.063Z",
   "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": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-a7bf978f88985b5d8b949761",
    "quote_text": "We say: Al-Nassr 2-1 Al-Wasl",
    "fragment_from": 3413,
    "fragment_to": 3441,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/al-nassr/preview/al-nassr-vs-al-wasl-prediction-team-news-lineups_607643.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7848ae4078c9cda2ee99fec0757a207b4b78a201e7b564d96c99e4092cb82050",
     "material_removed": false
    },
    "published_at": "2026-10-24T15:28:58.000Z",
    "detected_at": "2026-10-24T16:10:43.063Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0870218968b8",
     "display_name": "Al-Nassr Riyadh — Al Wasl SC",
     "competition_name": "AFC Champions League Elite",
     "starts_at": "2026-10-26T18:15:00.000Z",
     "url": "/football/matches/al-nassr-riyadh-vs-al-wasl-sc-2026-10-26/",
     "scoreline": null,
     "condition": "postponed"
    },
    "market_label": "Correct score",
    "outcome_label": "Al-Nassr Riyadh 2-1 Al Wasl SC",
    "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": "postponement",
    "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-24T15:28:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T15:28:58.000Z",
     "detected_at": "2026-10-24T16:10:43.063Z",
     "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": "Al-Nassr Riyadh 2-1 Al Wasl SC",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Al-Nassr Riyadh 2-1 Al Wasl SC"
    },
    "author_claim_outcome": {
     "result": "postponement",
     "scoreline": null,
     "data_status": "measured",
     "cause": "the match was postponed and the new kick-off is to be announced",
     "methodology_version": "2.2",
     "in_words": "Postponed."
    },
    "settlements": [
     {
      "operation_id": "b2a9e0baecde5848d83f5a7f1962e9205e98cfb31df1d2ca0d7204bb67c011b4",
      "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": "Al-Nassr Riyadh",
      "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": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/al-nassr/preview/al-nassr-vs-al-wasl-prediction-team-news-lineups_607643.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Al-Nassr Riyadh 2-1 Al Wasl SC"
   }
  },
  {
   "record_id": "n-538e5c0ce36cce5c9ec959a1",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-538e5c0ce36cce5c9ec959a1",
   "match": "SC Freiburg v FC Bayern München",
   "match_url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
   "kickoff": "2026-10-25T16:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 42.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SC Freiburg 1-2 FC Bayern München",
   "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-23T21:49:41.000Z",
   "recorded_at": "2026-10-23T21:54:17.185Z",
   "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.3800",
    "result": "Won",
    "points_hundredths": 3800,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-538e5c0ce36cce5c9ec959a1",
    "quote_text": "Whispers predicts: Freiburg 1-2 Bayern Munich",
    "fragment_from": 2706,
    "fragment_to": 2751,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "01f97ece1ec8f7219f0930092383936922aa79581104cff391adea91a98debb8",
     "material_removed": false
    },
    "published_at": "2026-10-23T21:49:41.000Z",
    "detected_at": "2026-10-23T21:54:17.185Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-215f38fae182",
     "display_name": "SC Freiburg — FC Bayern München",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-25T16:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-bayern-munchen-2026-10-25/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SC Freiburg 1-2 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-23T21:49:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T21:49:41.000Z",
     "detected_at": "2026-10-23T21:54:17.185Z",
     "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 1-2 FC Bayern München",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SC Freiburg 1-2 FC Bayern München"
    },
    "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 SC Freiburg 1-3 FC Bayern München."
    },
    "settlements": [
     {
      "operation_id": "02e15bb8ae69d3a173db2c1009c47095c306c6df92a5878e921c583366653ffe",
      "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.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3800,
      "executed_at": "2026-10-24T13:28:53.802Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/freiburg-vs-bayern-munich-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Freiburg 1-2 FC Bayern München"
   }
  },
  {
   "record_id": "n-dfa129efd9d2b84547d23ec7",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-dfa129efd9d2b84547d23ec7",
   "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": 30.1,
   "market_code": "1x2",
   "author_said": "1X2, match result, first half: Bayer 04 Leverkusen at 2.75",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T08:14:53.000Z",
   "recorded_at": "2026-10-24T08:24:17.318Z",
   "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-dfa129efd9d2b84547d23ec7",
    "quote_text": "HT winner: Leverkusen at 2.75 | Likelihood: Medium",
    "fragment_from": 3614,
    "fragment_to": 3664,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
     "material_removed": false
    },
    "published_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "1X2, match result, first half",
    "outcome_label": "Bayer 04 Leverkusen",
    "odds_set": {
     "by_author": "2.75",
     "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-24T08:14:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T08:14:53.000Z",
     "detected_at": "2026-10-24T08:24:17.318Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result, first half",
     "choice": "Bayer 04 Leverkusen",
     "author_odds": "2.75",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "first_half",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result, first half: Bayer 04 Leverkusen at 2.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was TSG Hoffenheim 3-0 Bayer 04 Leverkusen."
    },
    "settlements": [
     {
      "operation_id": "2d8bdb9cfa7fdb91a3db771726bf722b7a5c824d771e4a2a8987397ff206322a",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Bayer 04 Leverkusen",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "32857b6314315d903513fd10507ea05c239d4f255776e572b5d28e52576846cf",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Bayer 04 Leverkusen",
      "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": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bayer 04 Leverkusen to win"
   }
  },
  {
   "record_id": "n-d40f0d006a8f348cc84c12d8",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-d40f0d006a8f348cc84c12d8",
   "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": 30.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: TSG Hoffenheim 1-2 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-24T08:14:53.000Z",
   "recorded_at": "2026-10-24T08:24:17.318Z",
   "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.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d40f0d006a8f348cc84c12d8",
    "quote_text": "Whispers predicts: Hoffenheim 1-2 Bayer Leverkusen",
    "fragment_from": 2823,
    "fragment_to": 2873,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d8f0b7be3d982367723c85db11c6a06e644f4782f24a98780533914eaeee22c4",
     "material_removed": false
    },
    "published_at": "2026-10-24T08:14:53.000Z",
    "detected_at": "2026-10-24T08:24:17.318Z",
    "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-2 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-24T08:14:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T08:14:53.000Z",
     "detected_at": "2026-10-24T08:24:17.318Z",
     "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-2 Bayer 04 Leverkusen",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: TSG Hoffenheim 1-2 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": "15408c82700fd5a2c4dfa51e8488869c5fa9b11c747b82e947e595fe7113eb33",
      "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.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-24T08:25:51.767Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/hoffenheim-vs-bayer-leverkusen-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "TSG Hoffenheim 1-2 Bayer 04 Leverkusen"
   }
  },
  {
   "record_id": "n-54d1634a00fa6622621a6418",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-54d1634a00fa6622621a6418",
   "match": "Inter v Fiorentina",
   "match_url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
   "kickoff": "2026-10-25T11:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 29.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 2-1 Fiorentina",
   "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-24T06:04:20.000Z",
   "recorded_at": "2026-10-24T06:14:17.354Z",
   "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.3500",
    "result": "Won",
    "points_hundredths": 3500,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-54d1634a00fa6622621a6418",
    "quote_text": "Whispers predicts: Inter Milan 2-1 Fiorentina",
    "fragment_from": 2760,
    "fragment_to": 2805,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8e4e10b258886c310fe03336700a14b58c10f19230758e5020dff742521c2d7",
     "material_removed": false
    },
    "published_at": "2026-10-24T06:04:20.000Z",
    "detected_at": "2026-10-24T06:14:17.354Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9d1d25085bce",
     "display_name": "Inter — Fiorentina",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T11:30:00.000Z",
     "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 2-1 Fiorentina",
    "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-24T06:04:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T06:04:20.000Z",
     "detected_at": "2026-10-24T06:14:17.354Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter 2-1 Fiorentina",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 2-1 Fiorentina"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Inter 2-1 Fiorentina."
    },
    "settlements": [
     {
      "operation_id": "b56941cd18acf1d1e16a2bdb66012ebc610ab7ee04f825a2dff47d110a2bec99",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.3500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3500,
      "executed_at": "2026-10-24T06:15:39.260Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-fiorentina-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 2-1 Fiorentina"
   }
  },
  {
   "record_id": "n-6d6e2aa02f0937a917b37736",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-6d6e2aa02f0937a917b37736",
   "match": "Lazio v Parma",
   "match_url": "/football/matches/lazio-vs-parma-2026-10-24/",
   "kickoff": "2026-10-24T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.8,
   "market_code": "1x2",
   "author_said": "1X2, match result, first half: Lazio at 1.95",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T20:52:46.000Z",
   "recorded_at": "2026-10-22T20:54:17.583Z",
   "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-6d6e2aa02f0937a917b37736",
    "quote_text": "Lazio are priced at 1.95 to win the opening half.",
    "fragment_from": 3051,
    "fragment_to": 3100,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "14d4dfa1a9a27dceb849642b1c3f0760015fbfb8434cf3ba2430bbdc0d613660",
     "material_removed": false
    },
    "published_at": "2026-10-22T20:52:46.000Z",
    "detected_at": "2026-10-22T20:54:17.583Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-1dca3b8123af",
     "display_name": "Lazio — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T18:45:00.000Z",
     "url": "/football/matches/lazio-vs-parma-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result, first half",
    "outcome_label": "Lazio",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T20:52:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T20:52:46.000Z",
     "detected_at": "2026-10-22T20:54:17.583Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result, first half",
     "choice": "Lazio",
     "author_odds": "1.95",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "first_half",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result, first half: Lazio at 1.95"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lazio 2-1 Parma."
    },
    "settlements": [
     {
      "operation_id": "9355ebcf244c5cb9809000a3dad63809c9759ac3bf37fa3072a6b4f7e30d6c8e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Lazio",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "166d111ebcd416941c2076db6c8509cc3837b584719a1d4bac33ad364f2b3d85",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "Lazio",
      "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": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/lazio-vs-parma-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lazio to win"
   }
  },
  {
   "record_id": "n-878a4d67e7d2c19f5733cc02",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-878a4d67e7d2c19f5733cc02",
   "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": 29.9,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 4",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T07:29:33.000Z",
   "recorded_at": "2026-10-23T07:34:19.246Z",
   "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-878a4d67e7d2c19f5733cc02",
    "quote_text": "A draw priced at 3/1 would be a good result for both teams.",
    "fragment_from": 2935,
    "fragment_to": 2994,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
     "material_removed": false
    },
    "published_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "4",
     "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-23T07:29:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T07:29:33.000Z",
     "detected_at": "2026-10-23T07:34:19.246Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "4",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 4"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was 1. FSV Mainz 05 2-3 SV Werder Bremen."
    },
    "settlements": [
     {
      "operation_id": "911ccbe011235bd818625cbede0d1f31705bb38895d8f6fcf5885c294a1c04b8",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d74ca7e544d70830839745dec843c6f45e28e072565761970c496b6ce7be7594",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": 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": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-486ab7273a64eb9455616f1e",
   "url": "/authors/saikat-mandal/picks/9/#pick-n-486ab7273a64eb9455616f1e",
   "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": 29.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: 1. FSV Mainz 05 2-2 SV Werder Bremen at 13",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T07:29:33.000Z",
   "recorded_at": "2026-10-23T07:34:19.246Z",
   "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-486ab7273a64eb9455616f1e",
    "quote_text": "and a correct scoreline of 2-2 can be backed at 12/1.",
    "fragment_from": 3049,
    "fragment_to": 3102,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "20590d816dded1a0ed7287a0255dc70cfcca475d189b49c659b1276e0465ef7d",
     "material_removed": false
    },
    "published_at": "2026-10-23T07:29:33.000Z",
    "detected_at": "2026-10-23T07:34:19.246Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "not_checked",
    "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": "13",
     "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-23T07:29:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T07:29:33.000Z",
     "detected_at": "2026-10-23T07:34:19.246Z",
     "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": "13",
     "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 at 13"
    },
    "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": "0b5a07f97a05eecd66732c9f52fa23d545b24a1efc086ef6c89c73a884b8c079",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "1. FSV Mainz 05 2-2 SV Werder Bremen",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c7d585b18fcc0d3e06feab50990d655a425573f7bcfac3b1375941d1118e1986",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "1. FSV Mainz 05 2-2 SV Werder Bremen",
      "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": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/mainz-05-vs-werder-bremen-prediction-24-10-2026/",
     "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-f61577f1fd3365c927923784",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-f61577f1fd3365c927923784",
   "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": 31.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: RB Leipzig 2-1 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-23T05:58:41.000Z",
   "recorded_at": "2026-10-23T06:14:17.204Z",
   "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-f61577f1fd3365c927923784",
    "quote_text": "Whispers predicts: RB Leipzig 2-1 Elversberg",
    "fragment_from": 2668,
    "fragment_to": 2712,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "41ac3fcb8b1a95ab1750a6c6fbecdc42370de1402388ea8f36e0124bcedbc00b",
     "material_removed": false
    },
    "published_at": "2026-10-23T05:58:41.000Z",
    "detected_at": "2026-10-23T06:14:17.204Z",
    "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-1 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-23T05:58:41.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T05:58:41.000Z",
     "detected_at": "2026-10-23T06:14:17.204Z",
     "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-1 SV 07 Elversberg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: RB Leipzig 2-1 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": "abd20390e67a6d780e4e200f07d6bb29efb0859be0698c9ba13491433cd3199b",
      "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-23T06:44:29.081Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-elversberg-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig 2-1 SV 07 Elversberg"
   }
  },
  {
   "record_id": "n-7bf63e82d8cea5c6ae457ba9",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-7bf63e82d8cea5c6ae457ba9",
   "match": "Torino v Monza",
   "match_url": "/football/matches/torino-vs-monza-2026-10-23/",
   "kickoff": "2026-10-23T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 56.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Torino 1-1 Monza",
   "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-10-21T10:28:38.000Z",
   "recorded_at": "2026-10-21T10:44:17.343Z",
   "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.1000",
    "result": "Won",
    "points_hundredths": 11000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7bf63e82d8cea5c6ae457ba9",
    "quote_text": "Whispers predicts: Torino 1-1 Monza",
    "fragment_from": 2521,
    "fragment_to": 2556,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "67cfdf16ff33835219303ad959369327b225c90f00a5a06bc3a18c1bd870cb2b",
     "material_removed": false
    },
    "published_at": "2026-10-21T10:28:38.000Z",
    "detected_at": "2026-10-21T10:44:17.343Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d322079b35a0",
     "display_name": "Torino — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-23T18:45:00.000Z",
     "url": "/football/matches/torino-vs-monza-2026-10-23/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Torino 1-1 Monza",
    "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-21T10:28:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T10:28:38.000Z",
     "detected_at": "2026-10-21T10:44:17.343Z",
     "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": "Torino 1-1 Monza",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Torino 1-1 Monza"
    },
    "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 Torino 3-2 Monza."
    },
    "settlements": [
     {
      "operation_id": "ef5b52e57d8d69a6d17b7a7f1e4164c448a2657624d9fe30041278e568e4b699",
      "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.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T00:45:02.497Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/torino-vs-monza-prediction-23-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Torino 1-1 Monza"
   }
  },
  {
   "record_id": "n-2cbda06c130e2495f44b85dd",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-2cbda06c130e2495f44b85dd",
   "match": "Palmeiras v Fluminense",
   "match_url": "/football/matches/palmeiras-vs-fluminense-2026-10-22/",
   "kickoff": "2026-10-22T00:30:00.000Z",
   "competition": "Copa Libertadores",
   "lead_hours": 20.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Palmeiras 2-1 Fluminense",
   "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-21T03:54:05.000Z",
   "recorded_at": "2026-10-21T04:09:57.711Z",
   "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": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-2cbda06c130e2495f44b85dd",
    "quote_text": "We say: Palmeiras 2-1 Fluminense",
    "fragment_from": 4732,
    "fragment_to": 4764,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/palmeiras/preview/palmeiras-vs-fluminense-prediction-team-news-lineups_607335.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b0f36503da625eabe0d6900e64294be3003288cfa31056db3f2fbb8c9e03965b",
     "material_removed": false
    },
    "published_at": "2026-10-21T03:54:05.000Z",
    "detected_at": "2026-10-21T04:09:57.711Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3211cf297898",
     "display_name": "Palmeiras — Fluminense",
     "competition_name": "Copa Libertadores",
     "starts_at": "2026-10-22T00:30:00.000Z",
     "url": "/football/matches/palmeiras-vs-fluminense-2026-10-22/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Palmeiras 2-1 Fluminense",
    "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-21T03:54:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T03:54:05.000Z",
     "detected_at": "2026-10-21T04:09:57.711Z",
     "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": "Palmeiras 2-1 Fluminense",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Palmeiras 2-1 Fluminense"
    },
    "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 Palmeiras 0-1 Fluminense."
    },
    "settlements": [
     {
      "operation_id": "c24d60dd6481827b6a4f1409ab70fd9afb266eef5e584165cef88b52ca2dcb2a",
      "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": "Palmeiras",
      "decimal_odds": "1.9500",
      "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:34:11.258Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/palmeiras/preview/palmeiras-vs-fluminense-prediction-team-news-lineups_607335.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Palmeiras 2-1 Fluminense"
   }
  },
  {
   "record_id": "n-be5b3cdeb5defabfe49ac184",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-be5b3cdeb5defabfe49ac184",
   "match": "Montevideo City Torque v Atlético Mineiro",
   "match_url": "/football/matches/montevideo-city-torque-vs-atletico-mineiro-2026-10-21/",
   "kickoff": "2026-10-21T22:00:00.000Z",
   "competition": "Copa Sudamericana",
   "lead_hours": 16.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Montevideo City Torque 1-1 Atlético Mineiro",
   "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-21T04:25:24.000Z",
   "recorded_at": "2026-10-21T05:09:48.988Z",
   "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.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-be5b3cdeb5defabfe49ac184",
    "quote_text": "We say: Montevideo City Torque 1-1 Atletico Mineiro",
    "fragment_from": 5484,
    "fragment_to": 5535,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/torque/preview/torque-vs-atletico-mineiro-prediction-team-news-lineups_607336.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0414b96327edb7f2504c85fd719517099fb0018e4f20b1988127f606a021b9d2",
     "material_removed": false
    },
    "published_at": "2026-10-21T04:25:24.000Z",
    "detected_at": "2026-10-21T05:09:48.988Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ee6f2e85a956",
     "display_name": "Montevideo City Torque — Atlético Mineiro",
     "competition_name": "Copa Sudamericana",
     "starts_at": "2026-10-21T22:00:00.000Z",
     "url": "/football/matches/montevideo-city-torque-vs-atletico-mineiro-2026-10-21/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Montevideo City Torque 1-1 Atlético Mineiro",
    "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-21T04:25:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T04:25:24.000Z",
     "detected_at": "2026-10-21T05:09:48.988Z",
     "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": "Montevideo City Torque 1-1 Atlético Mineiro",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Montevideo City Torque 1-1 Atlético Mineiro"
    },
    "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 Montevideo City Torque 2-0 Atlético Mineiro."
    },
    "settlements": [
     {
      "operation_id": "e6c1d37067cc8e9ac8a608324368ad72cd8ea99d074fa9a64fff12069ee6ac7c",
      "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.2650",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T00:46:13.845Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/torque/preview/torque-vs-atletico-mineiro-prediction-team-news-lineups_607336.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Montevideo City Torque 1-1 Atlético Mineiro"
   }
  },
  {
   "record_id": "n-cd8c13cb1a54071c3ba0243e",
   "url": "/authors/saikat-mandal/picks/8/#pick-n-cd8c13cb1a54071c3ba0243e",
   "match": "Vasco da Gama v Boca Juniors",
   "match_url": "/football/matches/vasco-da-gama-vs-boca-juniors-2026-10-21/",
   "kickoff": "2026-10-21T00:30:00.000Z",
   "competition": "Copa Sudamericana",
   "lead_hours": 37.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Vasco da Gama 1-1 Boca Juniors",
   "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-19T10:37:10.000Z",
   "recorded_at": "2026-10-19T11:10:01.869Z",
   "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": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-cd8c13cb1a54071c3ba0243e",
    "quote_text": "We say: Vasco da Gama 1-1 Boca Juniors",
    "fragment_from": 4626,
    "fragment_to": 4664,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/boca-juniors/preview/vasco-vs-boca-juniors-prediction-team-news-lineups_607224.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b1132d1a15c7f1d3c9a4fea852fc8731c6d4e1f3c28bbeb9e30147ff0b76c401",
     "material_removed": false
    },
    "published_at": "2026-10-19T10:37:10.000Z",
    "detected_at": "2026-10-19T11:10:01.869Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-bed4f0dda233",
     "display_name": "Vasco da Gama — Boca Juniors",
     "competition_name": "Copa Sudamericana",
     "starts_at": "2026-10-21T00:30:00.000Z",
     "url": "/football/matches/vasco-da-gama-vs-boca-juniors-2026-10-21/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Vasco da Gama 1-1 Boca Juniors",
    "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-19T10:37:10.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T10:37:10.000Z",
     "detected_at": "2026-10-19T11:10:01.869Z",
     "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": "Vasco da Gama 1-1 Boca Juniors",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Vasco da Gama 1-1 Boca Juniors"
    },
    "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 Vasco da Gama 1-3 Boca Juniors."
    },
    "settlements": [
     {
      "operation_id": "49d997252f6af3020c3d614adc39a5c70483840eb25fa239716898d119eb91b8",
      "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.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-22T12:24:36.799Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/boca-juniors/preview/vasco-vs-boca-juniors-prediction-team-news-lineups_607224.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Vasco da Gama 1-1 Boca Juniors"
   }
  },
  {
   "record_id": "n-d1bc92b4adefb82b2abe224b",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-d1bc92b4adefb82b2abe224b",
   "match": "Parma v Torino",
   "match_url": "/football/matches/parma-vs-torino-2026-10-19/",
   "kickoff": "2026-10-19T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 36.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Parma 1-1 Torino",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-18T06:04:38.000Z",
   "recorded_at": "2026-10-18T06:14:14.620Z",
   "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.3500",
    "result": "Won",
    "points_hundredths": 13500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d1bc92b4adefb82b2abe224b",
    "quote_text": "Whispers predicts: Parma 1-1 Torino",
    "fragment_from": 2632,
    "fragment_to": 2667,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9ab868cee5323ee86f9768fe55c1e190e6c22f3aa6d41ca5d8deb6232c749f6a",
     "material_removed": false
    },
    "published_at": "2026-10-18T06:04:38.000Z",
    "detected_at": "2026-10-18T06:14:14.620Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-550a1d932859",
     "display_name": "Parma — Torino",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T18:45:00.000Z",
     "url": "/football/matches/parma-vs-torino-2026-10-19/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Parma 1-1 Torino",
    "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-18T06:04:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T06:04:38.000Z",
     "detected_at": "2026-10-18T06:14:14.620Z",
     "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": "Parma 1-1 Torino",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Parma 1-1 Torino"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Parma 0-3 Torino."
    },
    "settlements": [
     {
      "operation_id": "e6a489bee5d2e171626d16918f9696e2276b42ff6ed19183dde178ac44de9cad",
      "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.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-18T06:29:49.031Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/parma-vs-torino-prediction-19-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Parma 1-1 Torino"
   }
  },
  {
   "record_id": "n-defcd0cd7c45ae1fa495e928",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-defcd0cd7c45ae1fa495e928",
   "match": "Monza v Cagliari",
   "match_url": "/football/matches/monza-vs-cagliari-2026-10-19/",
   "kickoff": "2026-10-19T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 42.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Cagliari at 3.1",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T21:42:31.000Z",
   "recorded_at": "2026-10-17T21:54:13.149Z",
   "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-defcd0cd7c45ae1fa495e928",
    "quote_text": "making odds of 3.10 to secure all three points an appealing option.",
    "fragment_from": 2807,
    "fragment_to": 2874,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
     "material_removed": false
    },
    "published_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-6ecbe80b1f6a",
     "display_name": "Monza — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T16:30:00.000Z",
     "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Cagliari",
    "odds_set": {
     "by_author": "3.1",
     "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-17T21:42:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T21:42:31.000Z",
     "detected_at": "2026-10-17T21:54:13.149Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Cagliari",
     "author_odds": "3.1",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Cagliari at 3.1"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Monza 4-0 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "b98bbe91a6162215defee2d72c5bb1315be7dcb01f4b308fb07ae549461cc43a",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Cagliari",
      "decimal_odds": "3.1",
      "odds_role": "author_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-19T04:58:16.600Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "f3120fd89a0fcba69880f721140d3ff6940ae9c3ee3aabd316c3e3d913097a49",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Cagliari",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-19T04:58:16.634Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cagliari to win"
   }
  },
  {
   "record_id": "n-01f588ad48926c857d61c96a",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-01f588ad48926c857d61c96a",
   "match": "Monza v Cagliari",
   "match_url": "/football/matches/monza-vs-cagliari-2026-10-19/",
   "kickoff": "2026-10-19T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 42.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monza 1-2 Cagliari",
   "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-17T21:42:31.000Z",
   "recorded_at": "2026-10-17T21:54:13.149Z",
   "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.3800",
    "result": "Won",
    "points_hundredths": 13800,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-01f588ad48926c857d61c96a",
    "quote_text": "Whispers predicts: Monza 1-2 Cagliari",
    "fragment_from": 2631,
    "fragment_to": 2668,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "49f93ff9b24e6d56430b0bf25a34be27af67d75f60349bd00e19c8a56b1b2334",
     "material_removed": false
    },
    "published_at": "2026-10-17T21:42:31.000Z",
    "detected_at": "2026-10-17T21:54:13.149Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ecbe80b1f6a",
     "display_name": "Monza — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T16:30:00.000Z",
     "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monza 1-2 Cagliari",
    "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-17T21:42:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T21:42:31.000Z",
     "detected_at": "2026-10-17T21:54:13.149Z",
     "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": "Monza 1-2 Cagliari",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monza 1-2 Cagliari"
    },
    "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 Monza 4-0 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "fee2e1b72733449fb7ae712c96a73164629f9706a5d6ab76f9f50312fd08d00b",
      "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": "Cagliari",
      "decimal_odds": "3.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-19T04:58:12.791Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/monza-vs-cagliari-prediction-19-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monza 1-2 Cagliari"
   }
  },
  {
   "record_id": "n-12dfba7c9be19376ff010cf9",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-12dfba7c9be19376ff010cf9",
   "match": "AC Milan v Atalanta",
   "match_url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
   "kickoff": "2026-10-18T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.1,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.8",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-2",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T05:46:27.000Z",
   "recorded_at": "2026-10-17T05:54:13.015Z",
   "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-12dfba7c9be19376ff010cf9",
    "quote_text": "another stalemate at 3.80 could be on the cards",
    "fragment_from": 2881,
    "fragment_to": 2928,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fd560f37653cf44b8d9b7ae2c0aee26a92696681c2d9fd213a854fbe9920655e",
     "material_removed": false
    },
    "published_at": "2026-10-17T05:46:27.000Z",
    "detected_at": "2026-10-17T05:54:13.015Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-e6b8273ecffa",
     "display_name": "AC Milan — Atalanta",
     "competition_name": "Serie A",
     "starts_at": "2026-10-18T16:00:00.000Z",
     "url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.8",
     "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-17T05:46:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T05:46:27.000Z",
     "detected_at": "2026-10-17T05:54:13.015Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "3.8",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.8"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AC Milan 3-2 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "2b06da1a3e141d5c3974cd79833964c7c12da54e25b5050c641d5b49c00ff7b1",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.8",
      "odds_role": "author_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-18T05:58:07.202Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "43c2ec02ca0b387b646a74b6d1c6ea5f9238d48e5d233c2702200b9619d356e8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.7500",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-18T05:58:07.827Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/ac-milan-vs-atalanta-prediction-18-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-b362649938300f7b0027ee9a",
   "url": "/authors/saikat-mandal/picks/7/#pick-n-b362649938300f7b0027ee9a",
   "match": "AS Roma v Genoa",
   "match_url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AS Roma 2-1 Genoa",
   "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-16T06:16:11.000Z",
   "recorded_at": "2026-10-16T06:24:13.072Z",
   "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.4405",
    "result": "Won",
    "points_hundredths": 4405,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b362649938300f7b0027ee9a",
    "quote_text": "Whispers predicts: Roma 2-1 Genoa",
    "fragment_from": 2570,
    "fragment_to": 2603,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "549fab1d80344d1f2a2165d18ec9db404bdd47630ca15e4e3422c00c91994252",
     "material_removed": false
    },
    "published_at": "2026-10-16T06:16:11.000Z",
    "detected_at": "2026-10-16T06:24:13.072Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7163016c6723",
     "display_name": "AS Roma — Genoa",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AS Roma 2-1 Genoa",
    "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-16T06:16:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T06:16:11.000Z",
     "detected_at": "2026-10-16T06:24:13.072Z",
     "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": "AS Roma 2-1 Genoa",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AS Roma 2-1 Genoa"
    },
    "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 AS Roma 2-0 Genoa."
    },
    "settlements": [
     {
      "operation_id": "bfc5b8f373f2d727e23ff430f30cb2c36ac2dea3709b9aa0c101f80a7efa07fc",
      "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": "AS Roma",
      "decimal_odds": "1.4405",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4405,
      "executed_at": "2026-10-16T06:37:29.887Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/roma-vs-genoa-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AS Roma 2-1 Genoa"
   }
  },
  {
   "record_id": "n-e25058474ad4e2b721339812",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-e25058474ad4e2b721339812",
   "match": "Bologna v Inter",
   "match_url": "/football/matches/bologna-vs-inter-2026-10-17/",
   "kickoff": "2026-10-17T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 44.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bologna 1-2 Inter",
   "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-15T19:50:50.000Z",
   "recorded_at": "2026-10-15T19:54:13.479Z",
   "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-e25058474ad4e2b721339812",
    "quote_text": "Whispers predicts: Bologna 1-2 Inter Milan",
    "fragment_from": 2684,
    "fragment_to": 2726,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/bologna-vs-inter-milan-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5f8d669d751c27333707556444d2c6ef8d5b005e31bbf705b9247903cc240b3",
     "material_removed": false
    },
    "published_at": "2026-10-15T19:50:50.000Z",
    "detected_at": "2026-10-15T19:54:13.479Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0269219b78f7",
     "display_name": "Bologna — Inter",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T16:00:00.000Z",
     "url": "/football/matches/bologna-vs-inter-2026-10-17/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bologna 1-2 Inter",
    "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-15T19:50:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T19:50:50.000Z",
     "detected_at": "2026-10-15T19:54:13.479Z",
     "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": "Bologna 1-2 Inter",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bologna 1-2 Inter"
    },
    "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 Bologna 1-3 Inter."
    },
    "settlements": [
     {
      "operation_id": "90c8c56bfe5d407e8fd5b272118af5cf4aace53eab87492afb2e9b9651d70327",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.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-15T20:34:25.314Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/bologna-vs-inter-milan-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bologna 1-2 Inter"
   }
  },
  {
   "record_id": "n-27ee8034189f2d2f7a30c786",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-27ee8034189f2d2f7a30c786",
   "match": "Frosinone v Sassuolo",
   "match_url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
   "kickoff": "2026-10-16T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Frosinone 2-1 Sassuolo",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-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-15T06:54:17.000Z",
   "recorded_at": "2026-10-15T07:04:13.697Z",
   "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.4700",
    "result": "Won",
    "points_hundredths": 14700,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-27ee8034189f2d2f7a30c786",
    "quote_text": "Whispers predicts: Frosinone 2-1 Sassuolo",
    "fragment_from": 2634,
    "fragment_to": 2675,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "68e1055c2071e512842ae54766580888ac14f68c6fa47c68ca91112eaa136a00",
     "material_removed": false
    },
    "published_at": "2026-10-15T06:54:17.000Z",
    "detected_at": "2026-10-15T07:04:13.697Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d362eb8e26a8",
     "display_name": "Frosinone — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-10-16T18:45:00.000Z",
     "url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Frosinone 2-1 Sassuolo",
    "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-15T06:54:17.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T06:54:17.000Z",
     "detected_at": "2026-10-15T07:04:13.697Z",
     "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": "Frosinone 2-1 Sassuolo",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Frosinone 2-1 Sassuolo"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Frosinone 4-2 Sassuolo."
    },
    "settlements": [
     {
      "operation_id": "cfcb76797c27221d0b35391321e8b11fe5d7c2dd52f7e0e16008bdaa9ae015e6",
      "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": "Frosinone",
      "decimal_odds": "2.4700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 14700,
      "executed_at": "2026-10-15T07:14:19.763Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/frosinone-vs-sassuolo-prediction-16-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Frosinone 2-1 Sassuolo"
   }
  },
  {
   "record_id": "n-f9b9c26ead70ce59063151df",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-f9b9c26ead70ce59063151df",
   "match": "Estudiantes de La Plata v Flamengo",
   "match_url": "/football/matches/estudiantes-de-la-plata-vs-flamengo-2026-10-16/",
   "kickoff": "2026-10-16T00:30:00.000Z",
   "competition": "Copa Libertadores",
   "lead_hours": 28.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Estudiantes de La Plata 1-1 Flamengo",
   "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-14T19:02:39.000Z",
   "recorded_at": "2026-10-14T20:09:49.852Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-f9b9c26ead70ce59063151df",
    "quote_text": "We say: Estudiantes 1-1 Flamengo",
    "fragment_from": 6266,
    "fragment_to": 6298,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/estudiantes/preview/estudiantes-vs-flamengo-prediction-team-news-lineups_606894.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "43829ad75a198339dc1ffa9823fe9c46e17cfd80645b31d28d2c7a2d1b2c063b",
     "material_removed": false
    },
    "published_at": "2026-10-14T19:02:39.000Z",
    "detected_at": "2026-10-14T20:09:49.852Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6644e5e4fc80",
     "display_name": "Estudiantes de La Plata — Flamengo",
     "competition_name": "Copa Libertadores",
     "starts_at": "2026-10-16T00:30:00.000Z",
     "url": "/football/matches/estudiantes-de-la-plata-vs-flamengo-2026-10-16/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Estudiantes de La Plata 1-1 Flamengo",
    "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-14T19:02:39.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-14T19:02:39.000Z",
     "detected_at": "2026-10-14T20:09:49.852Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Estudiantes de La Plata 1-1 Flamengo",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Estudiantes de La Plata 1-1 Flamengo"
    },
    "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 Estudiantes de La Plata 0-0 Flamengo."
    },
    "settlements": [
     {
      "operation_id": "640f6b6bfc9ec67d11cd1a9a97449b15c302ba13d0a6b5f43153eca4530925f1",
      "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.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 20000,
      "executed_at": "2026-10-22T12:44:31.285Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/estudiantes/preview/estudiantes-vs-flamengo-prediction-team-news-lineups_606894.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Estudiantes de La Plata 1-1 Flamengo"
   }
  },
  {
   "record_id": "n-8506629a1badebd1c834ee58",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-8506629a1badebd1c834ee58",
   "match": "Atlético Mineiro v Montevideo City Torque",
   "match_url": "/football/matches/atletico-mineiro-vs-montevideo-city-torque-2026-10-14/",
   "kickoff": "2026-10-14T22:00:00.000Z",
   "competition": "Copa Sudamericana",
   "lead_hours": 26.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Atlético Mineiro 2-1 Montevideo City Torque",
   "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-13T18:59:02.000Z",
   "recorded_at": "2026-10-13T19:09:56.654Z",
   "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": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-8506629a1badebd1c834ee58",
    "quote_text": "We say: Atletico Mineiro 2-1 Montevideo City Torque",
    "fragment_from": 4557,
    "fragment_to": 4608,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/atletico-mineiro/preview/atletico-mineiro-vs-torque-prediction-team-news-lineups_606837.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "55c1c2034ab335fb6e6622dfd439b2baa8c37556a8ede2f47961fb168516ba82",
     "material_removed": false
    },
    "published_at": "2026-10-13T18:59:02.000Z",
    "detected_at": "2026-10-13T19:09:56.654Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-022622ee683a",
     "display_name": "Atlético Mineiro — Montevideo City Torque",
     "competition_name": "Copa Sudamericana",
     "starts_at": "2026-10-14T22:00:00.000Z",
     "url": "/football/matches/atletico-mineiro-vs-montevideo-city-torque-2026-10-14/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Atlético Mineiro 2-1 Montevideo City Torque",
    "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-13T18:59:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T18:59:02.000Z",
     "detected_at": "2026-10-13T19:09:56.654Z",
     "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 Mineiro 2-1 Montevideo City Torque",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Atlético Mineiro 2-1 Montevideo City Torque"
    },
    "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 Atlético Mineiro 3-0 Montevideo City Torque."
    },
    "settlements": [
     {
      "operation_id": "9e42666c912d8c038bed064bd1c42a6956b48423d68e18b2318ca8fc6d3b72f2",
      "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 Mineiro",
      "decimal_odds": "1.3600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3600,
      "executed_at": "2026-10-22T11:53:07.614Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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-mineiro/preview/atletico-mineiro-vs-torque-prediction-team-news-lineups_606837.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atlético Mineiro 2-1 Montevideo City Torque"
   }
  },
  {
   "record_id": "n-4ab5fcc6f9fde8c3b217e40e",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-4ab5fcc6f9fde8c3b217e40e",
   "match": "Shakhtar Donetsk v AEK Athens",
   "match_url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 33.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Shakhtar Donetsk 1-1 AEK Athens",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-13T09:27:59.000Z",
   "recorded_at": "2026-10-13T09:34:13.281Z",
   "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-4ab5fcc6f9fde8c3b217e40e",
    "quote_text": "Whispers predicts: Shakhtar Donetsk 1-1 AEK Athens",
    "fragment_from": 2552,
    "fragment_to": 2602,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0fd38f90f121b1cb74ae1e627df33d808fb98af8ec63ba3b46e66358bed193d7",
     "material_removed": false
    },
    "published_at": "2026-10-13T09:27:59.000Z",
    "detected_at": "2026-10-13T09:34:13.281Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b903df1cf4c6",
     "display_name": "Shakhtar Donetsk — AEK Athens",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Shakhtar Donetsk 1-1 AEK Athens",
    "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-13T09:27:59.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T09:27:59.000Z",
     "detected_at": "2026-10-13T09:34:13.281Z",
     "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": "Shakhtar Donetsk 1-1 AEK Athens",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Shakhtar Donetsk 1-1 AEK Athens"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Shakhtar Donetsk 3-1 AEK Athens."
    },
    "settlements": [
     {
      "operation_id": "0ad1a86b05c3f5aa2847cadb1d012e34a89c95005154b6e3668bad841aec5438",
      "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.3900",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-13T09:35:53.160Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Shakhtar Donetsk 1-1 AEK Athens"
   }
  },
  {
   "record_id": "n-d11e4cb0733a22a46aa49786",
   "url": "/authors/saikat-mandal/picks/6/#pick-n-d11e4cb0733a22a46aa49786",
   "match": "Shakhtar Donetsk v AEK Athens",
   "match_url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 33.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.91",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T09:27:59.000Z",
   "recorded_at": "2026-10-13T09:34:13.281Z",
   "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-d11e4cb0733a22a46aa49786",
    "quote_text": "> Over 2.5 goals at 1.91 | Likelihood: High",
    "fragment_from": 3248,
    "fragment_to": 3291,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0fd38f90f121b1cb74ae1e627df33d808fb98af8ec63ba3b46e66358bed193d7",
     "material_removed": false
    },
    "published_at": "2026-10-13T09:27:59.000Z",
    "detected_at": "2026-10-13T09:34:13.281Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-b903df1cf4c6",
     "display_name": "Shakhtar Donetsk — AEK Athens",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/shakhtar-donetsk-vs-aek-athens-2026-10-14/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.91",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-13T09:27:59.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T09:27:59.000Z",
     "detected_at": "2026-10-13T09:34:13.281Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.91",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.91"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Shakhtar Donetsk 3-1 AEK Athens."
    },
    "settlements": [
     {
      "operation_id": "8f7f220bdd3d73afbc8ffe6f8ae71594ba1de4ac8b6cf607df1d1c7f660179e2",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.91",
      "odds_role": "author_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-13T09:35:55.634Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a671ab29181c87b87bdb1469016d4f4e9b7fd1ad6d7c79ce3647153b91591188",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.8696",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-13T09:35:57.801Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/shakhtar-donetsk-vs-aek-athens-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-8174b4f54f8c36e447f6d0b4",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-8174b4f54f8c36e447f6d0b4",
   "match": "Boca Juniors v Vasco da Gama",
   "match_url": "/football/matches/boca-juniors-vs-vasco-da-gama-2026-10-14/",
   "kickoff": "2026-10-14T00:30:00.000Z",
   "competition": "Copa Sudamericana",
   "lead_hours": 22.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Boca Juniors 1-1 Vasco da Gama",
   "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-12T19:02:50.000Z",
   "recorded_at": "2026-10-13T02:09:59.416Z",
   "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": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-8174b4f54f8c36e447f6d0b4",
    "quote_text": "We say: Boca Juniors 1-1 Vasco da Gama",
    "fragment_from": 4138,
    "fragment_to": 4176,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/boca-juniors/preview/boca-juniors-vs-vasco-prediction-team-news-lineups_606765.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2a9271f0153310449de7ce22018761b12470e0d1623100a618fabafc6d902c52",
     "material_removed": false
    },
    "published_at": "2026-10-12T19:02:50.000Z",
    "detected_at": "2026-10-13T02:09:59.416Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6a3a58301e5e",
     "display_name": "Boca Juniors — Vasco da Gama",
     "competition_name": "Copa Sudamericana",
     "starts_at": "2026-10-14T00:30:00.000Z",
     "url": "/football/matches/boca-juniors-vs-vasco-da-gama-2026-10-14/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Boca Juniors 1-1 Vasco da Gama",
    "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-12T19:02:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T19:02:50.000Z",
     "detected_at": "2026-10-13T02:09:59.416Z",
     "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": "Boca Juniors 1-1 Vasco da Gama",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Boca Juniors 1-1 Vasco da Gama"
    },
    "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 Boca Juniors 0-1 Vasco da Gama."
    },
    "settlements": [
     {
      "operation_id": "082fd84fd72d5d0d0396197d3fe177eb18997ec8509482a9d29460ea529cd225",
      "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.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-22T11:52:02.053Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/boca-juniors/preview/boca-juniors-vs-vasco-prediction-team-news-lineups_606765.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Boca Juniors 1-1 Vasco da Gama"
   }
  },
  {
   "record_id": "n-90812170f42aa690559f7548",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-90812170f42aa690559f7548",
   "match": "RB Leipzig v PSV Eindhoven",
   "match_url": "/football/matches/rb-leipzig-vs-psv-eindhoven-2026-10-13/",
   "kickoff": "2026-10-13T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 35.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: RB Leipzig 2-1 PSV Eindhoven",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-12T07:10:34.000Z",
   "recorded_at": "2026-10-12T07:24:13.254Z",
   "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.7519",
    "result": "Won",
    "points_hundredths": 7519,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-90812170f42aa690559f7548",
    "quote_text": "Whispers predicts: RB Leipzig 2-1 PSV Eindhoven",
    "fragment_from": 2821,
    "fragment_to": 2868,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/rb-leipzig-vs-psv-eindhoven-13-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "748ba72dcd33b29499ad14384987e4efb1bf6537877c32ecad3df72655335654",
     "material_removed": false
    },
    "published_at": "2026-10-12T07:10:34.000Z",
    "detected_at": "2026-10-12T07:24:13.254Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0271fdbeeb0d",
     "display_name": "RB Leipzig — PSV Eindhoven",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T19:00:00.000Z",
     "url": "/football/matches/rb-leipzig-vs-psv-eindhoven-2026-10-13/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "RB Leipzig 2-1 PSV Eindhoven",
    "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-12T07:10:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T07:10:34.000Z",
     "detected_at": "2026-10-12T07:24:13.254Z",
     "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-1 PSV Eindhoven",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: RB Leipzig 2-1 PSV Eindhoven"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was RB Leipzig 1-0 PSV Eindhoven."
    },
    "settlements": [
     {
      "operation_id": "3a0e897ca8056bc332bdf88bb7dba5e7cc39866211f9d40c3d894a6f46931973",
      "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.7519",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7519,
      "executed_at": "2026-10-12T07:26:14.027Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/rb-leipzig-vs-psv-eindhoven-13-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RB Leipzig 2-1 PSV Eindhoven"
   }
  },
  {
   "record_id": "n-dc7952314687e10cf3533f69",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-dc7952314687e10cf3533f69",
   "match": "Torino v Udinese",
   "match_url": "/football/matches/torino-vs-udinese-2026-10-12/",
   "kickoff": "2026-10-12T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Torino 1-1 Udinese",
   "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-11T09:24:08.000Z",
   "recorded_at": "2026-10-11T09:34:13.166Z",
   "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.3300",
    "result": "Won",
    "points_hundredths": 13300,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-dc7952314687e10cf3533f69",
    "quote_text": "Whispers predicts: Torino 1-1 Udinese",
    "fragment_from": 2461,
    "fragment_to": 2498,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cef08ac8bad3dfc32d16d54fd74b88885ce5e1955628b2a2b6c1137d1dd2dd04",
     "material_removed": false
    },
    "published_at": "2026-10-11T09:24:08.000Z",
    "detected_at": "2026-10-11T09:34:13.166Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63a23007668d",
     "display_name": "Torino — Udinese",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T18:45:00.000Z",
     "url": "/football/matches/torino-vs-udinese-2026-10-12/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Torino 1-1 Udinese",
    "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-11T09:24:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T09:24:08.000Z",
     "detected_at": "2026-10-11T09:34:13.166Z",
     "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": "Torino 1-1 Udinese",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Torino 1-1 Udinese"
    },
    "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 Torino 2-1 Udinese."
    },
    "settlements": [
     {
      "operation_id": "6c86b6bb346cb3712532cf8bf81949fa2d08e3d2c90db2bf70f8623d1816ccef",
      "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.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T09:35:38.424Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/torino-vs-udinese-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Torino 1-1 Udinese"
   }
  },
  {
   "record_id": "n-48ba924d13325acfe46a9702",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-48ba924d13325acfe46a9702",
   "match": "Al-Nassr Riyadh v Neftchi Fergana",
   "match_url": null,
   "kickoff": "2026-10-12T18:15:00.000Z",
   "competition": "AFC Champions League Elite",
   "lead_hours": 44.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Al-Nassr Riyadh 2-1 Neftchi Fergana",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T20:35:09.000Z",
   "recorded_at": "2026-10-10T21:48:07.745Z",
   "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": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-48ba924d13325acfe46a9702",
    "quote_text": "We say: Al-Nassr 2-1 Neftchi",
    "fragment_from": 3438,
    "fragment_to": 3466,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/al-nassr/preview/al-nassr-vs-neftchi-prediction-team-news-lineups_606641.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "37524608418d68448ebc20364ee63b61caf27fe061c2483b8047bb93b6b49b9b",
     "material_removed": false
    },
    "published_at": "2026-10-10T20:35:09.000Z",
    "detected_at": "2026-10-10T21:48:07.745Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-aff233f67497",
     "display_name": "Al-Nassr Riyadh — Neftchi Fergana",
     "competition_name": "AFC Champions League Elite",
     "starts_at": "2026-10-12T18:15:00.000Z",
     "url": null,
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Al-Nassr Riyadh 2-1 Neftchi Fergana",
    "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-10T20:35:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T20:35:09.000Z",
     "detected_at": "2026-10-10T21:48:07.745Z",
     "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": "Al-Nassr Riyadh 2-1 Neftchi Fergana",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Al-Nassr Riyadh 2-1 Neftchi Fergana"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Al-Nassr Riyadh 3-1 Neftchi Fergana."
    },
    "settlements": [
     {
      "operation_id": "1eb84b942726a9e74efa5b2725dab20b9981e22e1cc020a94c86ab851157af60",
      "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": "Al-Nassr Riyadh",
      "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": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/al-nassr/preview/al-nassr-vs-neftchi-prediction-team-news-lineups_606641.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Al-Nassr Riyadh 2-1 Neftchi Fergana"
   }
  },
  {
   "record_id": "n-9717cdc8d938f3dc7afc4438",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-9717cdc8d938f3dc7afc4438",
   "match": "Atalanta v Venezia",
   "match_url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
   "kickoff": "2026-10-12T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 35.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Atalanta 2-0 Venezia",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-11T04:50:11.000Z",
   "recorded_at": "2026-10-11T04:54:39.130Z",
   "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.5714",
    "result": "Won",
    "points_hundredths": 5714,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9717cdc8d938f3dc7afc4438",
    "quote_text": "Whispers predicts: Atalanta 2-0 Venezia",
    "fragment_from": 2663,
    "fragment_to": 2702,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a7db0eca52424139697f9733165456a833760bcbfbfed9d4233a50549222c41a",
     "material_removed": false
    },
    "published_at": "2026-10-11T04:50:11.000Z",
    "detected_at": "2026-10-11T04:54:39.130Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8702b9f6aca5",
     "display_name": "Atalanta — Venezia",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T16:30:00.000Z",
     "url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Atalanta 2-0 Venezia",
    "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-11T04:50:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T04:50:11.000Z",
     "detected_at": "2026-10-11T04:54:39.130Z",
     "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": "Atalanta 2-0 Venezia",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Atalanta 2-0 Venezia"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Atalanta 3-1 Venezia."
    },
    "settlements": [
     {
      "operation_id": "29ae5d67d972e569bd10ccb85fe45e21e09d20e79f56478e1dec2c40def8d464",
      "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": "Atalanta",
      "decimal_odds": "1.5714",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5714,
      "executed_at": "2026-10-11T05:10:28.284Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/atalanta-vs-venezia-prediction-12-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atalanta 2-0 Venezia"
   }
  },
  {
   "record_id": "n-a680db29334e7baf24bbae06",
   "url": "/authors/saikat-mandal/picks/5/#pick-n-a680db29334e7baf24bbae06",
   "match": "Cagliari v Juventus",
   "match_url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
   "kickoff": "2026-10-11T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 33.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cagliari 1-1 Juventus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T08:37:16.000Z",
   "recorded_at": "2026-10-10T08:59:19.007Z",
   "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-a680db29334e7baf24bbae06",
    "quote_text": "Whispers predicts: Cagliari 1-1 Juventus",
    "fragment_from": 2812,
    "fragment_to": 2852,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8b9bb24173d4a55e8947ad25079fd4ea44bdd10f1d3e5d2a1fe31344c9f83db",
     "material_removed": false
    },
    "published_at": "2026-10-10T08:37:16.000Z",
    "detected_at": "2026-10-10T08:59:19.007Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-c6ff28609cbc",
     "display_name": "Cagliari — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T18:45:00.000Z",
     "url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cagliari 1-1 Juventus",
    "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-10T08:37:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T08:37:16.000Z",
     "detected_at": "2026-10-10T08:59:19.007Z",
     "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": "Cagliari 1-1 Juventus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cagliari 1-1 Juventus"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Cagliari 1-1 Juventus."
    },
    "settlements": [
     {
      "operation_id": "f19bf889e374af031f7254d9221e47b5b9dccffada56ea61e6a6ec7ee6a80155",
      "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.1",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/cagliari-vs-juventus-prediction-preview-betting-tips-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cagliari 1-1 Juventus"
   }
  },
  {
   "record_id": "n-83b8e2e8935dd8a6e075229a",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-83b8e2e8935dd8a6e075229a",
   "match": "Sassuolo v AC Milan",
   "match_url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
   "kickoff": "2026-10-11T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sassuolo 2-2 AC Milan",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T05:37:44.000Z",
   "recorded_at": "2026-10-10T05:27:16.311Z",
   "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-83b8e2e8935dd8a6e075229a",
    "quote_text": "Whispers predicts: Sassuolo 2-2 AC Milan",
    "fragment_from": 2829,
    "fragment_to": 2869,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d6aba876e0a4790cd93654211b9b923b2024a098ac6d26c8ecc3aded74e875c7",
     "material_removed": false
    },
    "published_at": "2026-10-10T05:37:44.000Z",
    "detected_at": "2026-10-10T05:27:16.311Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-6daf1549fb1e",
     "display_name": "Sassuolo — AC Milan",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T16:00:00.000Z",
     "url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sassuolo 2-2 AC Milan",
    "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-10T05:37:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T05:37:44.000Z",
     "detected_at": "2026-10-10T05:27:16.311Z",
     "archive_snapshot_at": null,
     "flags": [
      "after_detection"
     ],
     "flag_words": "The source's date is later than our first capture.",
     "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": "Sassuolo 2-2 AC Milan",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sassuolo 2-2 AC Milan"
    },
    "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 Sassuolo 1-1 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "97e90fc21e38cf71255d0f569c85a8fd5f3d270f42506fd31a66834572ddd5cb",
      "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.1",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sassuolo 2-2 AC Milan"
   }
  },
  {
   "record_id": "n-1ba045ff2d0a9ffcdde89cc1",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-1ba045ff2d0a9ffcdde89cc1",
   "match": "Sassuolo v AC Milan",
   "match_url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
   "kickoff": "2026-10-11T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.75",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T05:37:44.000Z",
   "recorded_at": "2026-10-10T05:27:16.311Z",
   "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-1ba045ff2d0a9ffcdde89cc1",
    "quote_text": "Over 2.5 goals at 1.75 | Likelihood: High",
    "fragment_from": 3543,
    "fragment_to": 3584,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d6aba876e0a4790cd93654211b9b923b2024a098ac6d26c8ecc3aded74e875c7",
     "material_removed": false
    },
    "published_at": "2026-10-10T05:37:44.000Z",
    "detected_at": "2026-10-10T05:27:16.311Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-6daf1549fb1e",
     "display_name": "Sassuolo — AC Milan",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T16:00:00.000Z",
     "url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.75",
     "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-10T05:37:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T05:37:44.000Z",
     "detected_at": "2026-10-10T05:27:16.311Z",
     "archive_snapshot_at": null,
     "flags": [
      "after_detection"
     ],
     "flag_words": "The source's date is later than our first capture.",
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.75",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Sassuolo 1-1 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "8c711fe9fc070e5283a3d39201c3d42adf026d2663e623a2d0ab1facf4c7f5c1",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "156b745250bee1e52796085fe3fbe9c940399a4c85bd170e2b8237faeff93697",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/sassuolo-vs-ac-milan-prediction-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-7684578694f413c5a9544d85",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-7684578694f413c5a9544d85",
   "match": "SSC Napoli v Frosinone",
   "match_url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.1,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 4.75",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T08:30:58.000Z",
   "recorded_at": "2026-10-09T08:41:48.059Z",
   "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-7684578694f413c5a9544d85",
    "quote_text": "another entertaining stalemate at 4.75 could be on the cards.",
    "fragment_from": 2893,
    "fragment_to": 2954,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f956bba46a7ffe5081eedfdad15301f0fb72291883af00cb5716c01fed0f96fc",
     "material_removed": false
    },
    "published_at": "2026-10-09T08:30:58.000Z",
    "detected_at": "2026-10-09T08:41:48.059Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-f48d1ed42fc3",
     "display_name": "SSC Napoli — Frosinone",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "4.75",
     "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-09T08:30:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T08:30:58.000Z",
     "detected_at": "2026-10-09T08:41:48.059Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "4.75",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 4.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was SSC Napoli 3-0 Frosinone."
    },
    "settlements": [
     {
      "operation_id": "913934dbf3e0e2c17e583b2b7b92c0ae47efbafc35cbf90ff80c879d661e9956",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.75",
      "odds_role": "author_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-09T09:00:45.937Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4486e0e3d8a37f28645f418fc0679ec7280f919346d5e5c68e6cf737df929cd9",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.7500",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-10T23:35:07.102Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-58fea33795f7eb9bdb2aadb0",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-58fea33795f7eb9bdb2aadb0",
   "match": "SSC Napoli v Frosinone",
   "match_url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.1,
   "market_code": "1x2",
   "author_said": "1X2, match result, first half: SSC Napoli at 1.95",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T08:30:58.000Z",
   "recorded_at": "2026-10-09T08:41:48.059Z",
   "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-58fea33795f7eb9bdb2aadb0",
    "quote_text": "are priced at 1.95 to lead at the break this weekend.",
    "fragment_from": 3190,
    "fragment_to": 3243,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f956bba46a7ffe5081eedfdad15301f0fb72291883af00cb5716c01fed0f96fc",
     "material_removed": false
    },
    "published_at": "2026-10-09T08:30:58.000Z",
    "detected_at": "2026-10-09T08:41:48.059Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-f48d1ed42fc3",
     "display_name": "SSC Napoli — Frosinone",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result, first half",
    "outcome_label": "SSC Napoli",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-09T08:30:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T08:30:58.000Z",
     "detected_at": "2026-10-09T08:41:48.059Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result, first half",
     "choice": "SSC Napoli",
     "author_odds": "1.95",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "first_half",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result, first half: SSC Napoli at 1.95"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was SSC Napoli 3-0 Frosinone."
    },
    "settlements": [
     {
      "operation_id": "6aa652a8209317e2754fb418fa2077a515bef961901730705779953b3cd43912",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "SSC Napoli",
      "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.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9b0b8cb1e81471c9df30cf7dac2752e24f41324fb1d4e72b7351dc7f2f2156b0",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result, first half",
      "choice": "SSC Napoli",
      "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.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/napoli-vs-frosinone-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SSC Napoli to win"
   }
  },
  {
   "record_id": "n-a8adc3fcc2ac239a0c8cc7d3",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-a8adc3fcc2ac239a0c8cc7d3",
   "match": "Inter v Parma",
   "match_url": "/football/matches/inter-vs-parma-2026-10-10/",
   "kickoff": "2026-10-10T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 34.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 3-1 Parma",
   "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-09T05:37:02.000Z",
   "recorded_at": "2026-10-09T05:43:01.585Z",
   "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.1300",
    "result": "Won",
    "points_hundredths": 1300,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a8adc3fcc2ac239a0c8cc7d3",
    "quote_text": "Whispers predicts: Inter Milan 3-1 Parma",
    "fragment_from": 2714,
    "fragment_to": 2754,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4824610431329f6562993b37b3be0bd80f2771624d4333a62f2082b995ac8593",
     "material_removed": false
    },
    "published_at": "2026-10-09T05:37:02.000Z",
    "detected_at": "2026-10-09T05:43:01.585Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e2d306934e5f",
     "display_name": "Inter — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T16:00:00.000Z",
     "url": "/football/matches/inter-vs-parma-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 3-1 Parma",
    "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-09T05:37:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T05:37:02.000Z",
     "detected_at": "2026-10-09T05:43:01.585Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter 3-1 Parma",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 3-1 Parma"
    },
    "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 Inter 3-0 Parma."
    },
    "settlements": [
     {
      "operation_id": "297e67e1ac7d479af1a2a0b18e0bdb812d4833feaf6b78bed900d3b0107864e2",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.1300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 1300,
      "executed_at": "2026-10-10T23:35:07.467Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/inter-milan-vs-parma-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 3-1 Parma"
   }
  },
  {
   "record_id": "n-a28d1ce472ae46d67de29b39",
   "url": "/authors/saikat-mandal/picks/4/#pick-n-a28d1ce472ae46d67de29b39",
   "match": "Ipswich Town v Fulham",
   "match_url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 33.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Ipswich Town 2-2 Fulham at 13",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T04:04:57.000Z",
   "recorded_at": "2026-10-09T04:15:33.202Z",
   "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-a28d1ce472ae46d67de29b39",
    "quote_text": "repeat scoreline at 13.0 could be worth a gamble.",
    "fragment_from": 3307,
    "fragment_to": 3356,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6cd515b1236b9714e1130ee2e8bfcec49dcff986e384a596b3d151d9547f5ae4",
     "material_removed": false
    },
    "published_at": "2026-10-09T04:04:57.000Z",
    "detected_at": "2026-10-09T04:15:33.202Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-094908148541",
     "display_name": "Ipswich Town — Fulham",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/ipswich-town-vs-fulham-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Ipswich Town 2-2 Fulham",
    "odds_set": {
     "by_author": "13",
     "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-09T04:04:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T04:04:57.000Z",
     "detected_at": "2026-10-09T04:15:33.202Z",
     "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": "Ipswich Town 2-2 Fulham",
     "author_odds": "13",
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Ipswich Town 2-2 Fulham at 13"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Ipswich Town 2-1 Fulham."
    },
    "settlements": [
     {
      "operation_id": "4151d4d49c5260a4a9e9ea17969f2346427d77ca33aca5c22c92874960ab7cb4",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Ipswich Town 2-2 Fulham",
      "decimal_odds": "13",
      "odds_role": "author_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-09T11:29:51.991Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8666eb0777982d2c1f2a2089840c70b2ccd6cb68acc09ff037c995849ee84a08",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Ipswich Town 2-2 Fulham",
      "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": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/ipswich-town-vs-fulham-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Ipswich Town 2-2 Fulham"
   }
  },
  {
   "record_id": "n-7757a483450d41f0f082893d",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-7757a483450d41f0f082893d",
   "match": "Aston Villa v Brentford",
   "match_url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
   "kickoff": "2026-10-10T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 34.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Aston Villa 2-2 Brentford",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-09T02:59:49.000Z",
   "recorded_at": "2026-10-09T03:09:01.286Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.5500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7757a483450d41f0f082893d",
    "quote_text": "Whispers predicts: Aston Villa 2-2 Brentford",
    "fragment_from": 2901,
    "fragment_to": 2945,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef7982fb09e8831603b8635594bc27b276b97be2a42025959b9d48f7b9589496",
     "material_removed": false
    },
    "published_at": "2026-10-09T02:59:49.000Z",
    "detected_at": "2026-10-09T03:09:01.286Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-60e403153fd3",
     "display_name": "Aston Villa — Brentford",
     "competition_name": "Premier League",
     "starts_at": "2026-10-10T14:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-brentford-2026-10-10/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Aston Villa 2-2 Brentford",
    "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-09T02:59:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T02:59:49.000Z",
     "detected_at": "2026-10-09T03:09:01.286Z",
     "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": "Aston Villa 2-2 Brentford",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Aston Villa 2-2 Brentford"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Aston Villa 2-2 Brentford."
    },
    "settlements": [
     {
      "operation_id": "a28762295d2f0f7285283db82854857ca62b710aa9607e92970d5f790d9a25b3",
      "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": "win",
      "result_words": "Won",
      "change_hundredths": 25000,
      "executed_at": "2026-10-10T23:35:07.524Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Football Whispers",
     "forecaster": "Saikat Mandal",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/aston-villa-vs-brentford-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa 2-2 Brentford"
   }
  },
  {
   "record_id": "n-df223a2ed8f78166ed1e73e6",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-df223a2ed8f78166ed1e73e6",
   "match": "Santos v Flamengo",
   "match_url": "/football/matches/santos-vs-flamengo-2026-10-08/",
   "kickoff": "2026-10-08T22:30:00.000Z",
   "competition": "Brasileiro Série A",
   "lead_hours": 41.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Santos 1-2 Flamengo",
   "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-07T04:47:33.000Z",
   "recorded_at": "2026-10-07T05:05:38.586Z",
   "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.8000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-df223a2ed8f78166ed1e73e6",
    "quote_text": "We say: Santos 1-2 Flamengo",
    "fragment_from": 5956,
    "fragment_to": 5983,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/santos/preview/santos-vs-flamengo-prediction-team-news-lineups_606357.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "16aa9ee74351d712472c7909bc5d11f4ff7e10108baff7323d373e32669993f1",
     "material_removed": false
    },
    "published_at": "2026-10-07T04:47:33.000Z",
    "detected_at": "2026-10-07T05:05:38.586Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-44b00c2ebdea",
     "display_name": "Santos — Flamengo",
     "competition_name": "Brasileiro Série A",
     "starts_at": "2026-10-08T22:30:00.000Z",
     "url": "/football/matches/santos-vs-flamengo-2026-10-08/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Santos 1-2 Flamengo",
    "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-07T04:47:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T04:47:33.000Z",
     "detected_at": "2026-10-07T05:05:38.586Z",
     "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": "Santos 1-2 Flamengo",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Santos 1-2 Flamengo"
    },
    "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 Santos 2-2 Flamengo."
    },
    "settlements": [
     {
      "operation_id": "a594684beb13717fe022e3ada25b169a8158f7a92790e56dac871f1c1c2c0210",
      "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": "Flamengo",
      "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-08T05:09:19.086Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/santos/preview/santos-vs-flamengo-prediction-team-news-lineups_606357.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Santos 1-2 Flamengo"
   }
  },
  {
   "record_id": "n-ae9c056c180c90d63eef0e17",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-ae9c056c180c90d63eef0e17",
   "match": "Cruzeiro v São Paulo",
   "match_url": "/football/matches/cruzeiro-vs-sao-paulo-2026-10-08/",
   "kickoff": "2026-10-08T00:30:00.000Z",
   "competition": "Brasileiro Série A",
   "lead_hours": 34.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cruzeiro 2-1 São Paulo",
   "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-06T08:45:58.000Z",
   "recorded_at": "2026-10-06T14:01:54.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": "1",
    "price": "1.8696",
    "result": "Won",
    "points_hundredths": 8696,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-ae9c056c180c90d63eef0e17",
    "quote_text": "We say: Cruzeiro 2-1 Sao Paulo",
    "fragment_from": 3622,
    "fragment_to": 3652,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cruzeiro/preview/cruzeiro-vs-sao-paulo-prediction-team-news-lineups_606292.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b8035bf5c51859e3f01b45a4666d0574367f8dc47e5010483e5663dbc014c4d8",
     "material_removed": false
    },
    "published_at": "2026-10-06T08:45:58.000Z",
    "detected_at": "2026-10-06T14:01:54.231Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4b219d75e4f9",
     "display_name": "Cruzeiro — São Paulo",
     "competition_name": "Brasileiro Série A",
     "starts_at": "2026-10-08T00:30:00.000Z",
     "url": "/football/matches/cruzeiro-vs-sao-paulo-2026-10-08/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cruzeiro 2-1 São Paulo",
    "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-06T08:45:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-06T08:45:58.000Z",
     "detected_at": "2026-10-06T14:01:54.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": "Cruzeiro 2-1 São Paulo",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cruzeiro 2-1 São Paulo"
    },
    "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 Cruzeiro 2-0 São Paulo."
    },
    "settlements": [
     {
      "operation_id": "f9f877df00a42af7c06a18ded35c6fc61c93d4f51bc88db7961ffdcb75bdb8c3",
      "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": "Cruzeiro",
      "decimal_odds": "1.8696",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8696,
      "executed_at": "2026-10-07T04:17:29.167Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/cruzeiro/preview/cruzeiro-vs-sao-paulo-prediction-team-news-lineups_606292.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cruzeiro 2-1 São Paulo"
   }
  },
  {
   "record_id": "n-ae6b256e1f4ad0cf1f54e245",
   "url": "/authors/saikat-mandal/picks/3/#pick-n-ae6b256e1f4ad0cf1f54e245",
   "match": "Remo v Grêmio",
   "match_url": "/football/matches/remo-vs-gremio-2026-10-07/",
   "kickoff": "2026-10-07T22:30:00.000Z",
   "competition": "Brasileiro Série A",
   "lead_hours": 32.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Remo 1-1 Grêmio",
   "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-06T08:45:42.000Z",
   "recorded_at": "2026-10-06T14:01:55.151Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-ae6b256e1f4ad0cf1f54e245",
    "quote_text": "We say: Remo 1-1 Gremio",
    "fragment_from": 3092,
    "fragment_to": 3115,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/remo/preview/remo-vs-gremio-prediction-team-news-lineups_606305.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "987ac5ccdad1735637556f41590a9ac8a93132ed43f2fb4c0b41ed54b4e4e53e",
     "material_removed": false
    },
    "published_at": "2026-10-06T08:45:42.000Z",
    "detected_at": "2026-10-06T14:01:55.151Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-39a8e3e8d538",
     "display_name": "Remo — Grêmio",
     "competition_name": "Brasileiro Série A",
     "starts_at": "2026-10-07T22:30:00.000Z",
     "url": "/football/matches/remo-vs-gremio-2026-10-07/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Remo 1-1 Grêmio",
    "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-06T08:45:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-06T08:45:42.000Z",
     "detected_at": "2026-10-06T14:01:55.151Z",
     "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": "Remo 1-1 Grêmio",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Remo 1-1 Grêmio"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Remo 1-1 Grêmio."
    },
    "settlements": [
     {
      "operation_id": "f166a2f6e7dcb2f767b308eaaae945c031371fb222506b08cf2ec86958e1a49c",
      "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.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24000,
      "executed_at": "2026-10-07T00:32:34.933Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/remo/preview/remo-vs-gremio-prediction-team-news-lineups_606305.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Remo 1-1 Grêmio"
   }
  },
  {
   "record_id": "n-ad1f62efe1ffc37ee8473e18",
   "url": "/authors/saikat-mandal/picks/2/#pick-n-ad1f62efe1ffc37ee8473e18",
   "match": "Japan v Ecuador",
   "match_url": "/football/matches/japan-vs-ecuador-2026-10-01/",
   "kickoff": "2026-10-01T10:10:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 35.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Japan 2-1 Ecuador",
   "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-09-29T22:27:00.000Z",
   "recorded_at": "2026-09-29T23:07:03.085Z",
   "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": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-ad1f62efe1ffc37ee8473e18",
    "quote_text": "We say: Japan 2-1 Ecuador",
    "fragment_from": 2886,
    "fragment_to": 2911,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/japan/preview/japan-vs-ecuador-prediction-team-news-lineups_605992.html",
     "display_name": null,
     "speaker": "Saikat Mandal",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "977d23dc24933e399b60af3c76b183e4d2e5bf1bdc3ba97bebccb2040e43cce4",
     "material_removed": false
    },
    "published_at": "2026-09-29T22:27:00.000Z",
    "detected_at": "2026-09-29T23:07:03.085Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-93ebf43f3815",
     "display_name": "Japan — Ecuador",
     "competition_name": "International Soccer",
     "starts_at": "2026-10-01T10:10:00.000Z",
     "url": "/football/matches/japan-vs-ecuador-2026-10-01/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Japan 2-1 Ecuador",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-09-29T22:27:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-29T22:27:00.000Z",
     "detected_at": "2026-09-29T23:07:03.085Z",
     "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": "Japan 2-1 Ecuador",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Japan 2-1 Ecuador"
    },
    "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 Japan 0-0 Ecuador."
    },
    "settlements": [
     {
      "operation_id": "19a46315ba2a75bf600e2b5fb785a5f91c48f650fc5fe041697d9381fc3f687d",
      "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": "Japan",
      "decimal_odds": "1.7519",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-09-29T23:11:59.083Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Saikat Mandal",
     "publisher": "Sports Mole",
     "forecaster": "Saikat Mandal",
     "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/japan/preview/japan-vs-ecuador-prediction-team-news-lineups_605992.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Japan 2-1 Ecuador"
   }
  },
  {
   "record_id": "n-4e3848ac917084c77ef7a99c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Leverkusen to score the first goal at 1.87 | Likelihood: High",
   "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-24T08:14:53.000Z",
   "recorded_at": "2026-10-24T08:24:17.318Z",
   "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-27b5feb62d443ee4c16592d0",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Freiburg to score first at 3.20 | Likelihood: Medium",
   "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-23T21:49:41.000Z",
   "recorded_at": "2026-10-23T21:54:17.185Z",
   "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-b2a8b4fe4655c99479f49384",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Mainz 05 are priced to win the opening half at 13/10.",
   "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-23T07:29:33.000Z",
   "recorded_at": "2026-10-23T07:34:19.246Z",
   "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-c757ccdcbde76c04dd355a7a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "🔥 Our Hot tip\n\nFirst half loser: Werder Bremen",
   "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-23T07:29:33.000Z",
   "recorded_at": "2026-10-23T07:34:19.246Z",
   "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-1669ee04785f067ab1c230e6",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "HT loser: Parma",
   "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-22T20:52:46.000Z",
   "recorded_at": "2026-10-22T20:54:17.583Z",
   "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-11811138a4572dcdaab96646",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Roma to score first at 2.00 | Likelihood: High",
   "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-22T15:37:35.000Z",
   "recorded_at": "2026-10-22T15:44:17.082Z",
   "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-bad7d0efe7a23434af5b7259",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Al Faisaly 1-2 Al-Nassr",
   "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-21T19:11:00.000Z",
   "recorded_at": "2026-10-21T20:10:09.317Z",
   "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",
   "correction": null
  },
  {
   "record_id": "n-12010d07d42896dc4f19c5c7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "The Bull have scored first in eight of their last nine matches against Monza, and they are backed to net the opening goal at 1.80.",
   "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-21T10:28:38.000Z",
   "recorded_at": "2026-10-21T10:44:17.343Z",
   "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-5c4771b2d6d10a6b5e797f81",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Torino to score first at 1.91 | Likelihood: Medium",
   "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-18T06:04:38.000Z",
   "recorded_at": "2026-10-18T06:14:14.620Z",
   "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-ec44ab825fd0f5876cc33463",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "backed to break the deadlock again at 2.25 against Monza.",
   "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-17T21:42:31.000Z",
   "recorded_at": "2026-10-17T21:54:13.149Z",
   "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-f24f7a799619a7508ed09bab",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "backed to break the deadlock again at 1.62",
   "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-17T05:46:27.000Z",
   "recorded_at": "2026-10-17T05:54:13.015Z",
   "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-5fbd37b34f13efb186816296",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> HT: Stuttgart at 2.30 | Likelihood: Medium",
   "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-16T07:31:59.000Z",
   "recorded_at": "2026-10-16T07:34:14.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-cc0568bf6b10ba51ec23a875",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Over 2.5 goals at 1.42 | Likelihood: High",
   "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-16T07:31:59.000Z",
   "recorded_at": "2026-10-16T07:34:14.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-736d426dfd8f9297411a4cf4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Both teams to score at 1.40 | Likelihood: High",
   "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-16T07:31:59.000Z",
   "recorded_at": "2026-10-16T07:34:14.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-815fbf3a7cf2696e9840472e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Whispers predicts: Hamburg 1-2 Stuttgart",
   "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-16T07:31:59.000Z",
   "recorded_at": "2026-10-16T07:34:14.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-aebc30abc5d01c39453df081",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Stuttgart to score first at 1.65 | Likelihood: Medium",
   "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-16T07:31:59.000Z",
   "recorded_at": "2026-10-16T07:34:14.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-5a1fee8dd4bc89f32fe8bf92",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Roma to score first at 1.43 | Likelihood: High",
   "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-16T06:16:11.000Z",
   "recorded_at": "2026-10-16T06:24:13.072Z",
   "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-aba9ced64b25ad45a182cac5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Inter to score first at 1.53 | Likelihood: High",
   "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-15T19:50:50.000Z",
   "recorded_at": "2026-10-15T19:54:13.479Z",
   "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-f1327753b1aad71141d7979a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Frosinone to score first at 1.95 | Likelihood: High",
   "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-15T06:54:17.000Z",
   "recorded_at": "2026-10-15T07:04:13.697Z",
   "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-7c4c82a9d5ea2864f93a2dfb",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Shakhtar to score first at 2.05 | Likelihood: High",
   "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-13T09:27:59.000Z",
   "recorded_at": "2026-10-13T09:34:13.281Z",
   "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-6fdeeac092eea8255b7d33fe",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> HT: PSV Eindhoven at 4.00 | Likelihood: Medium",
   "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-12T07:10:34.000Z",
   "recorded_at": "2026-10-12T07:24:13.254Z",
   "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-17159f69ed7dd0b81935ddb1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Udinese to score first at 2.30 | Likelihood: Medium",
   "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-11T09:24:08.000Z",
   "recorded_at": "2026-10-11T09:34:13.166Z",
   "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-3cbbe2af981672c6a0e645a0",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> HT: Atalanta at 2.10 | Likelihood: High",
   "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-11T04:50:11.000Z",
   "recorded_at": "2026-10-11T04:54:39.130Z",
   "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-ae5d79953a1dd667ebf93b43",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Cagliari to score first at 3.35 | Likelihood: Medium",
   "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-10T08:37:16.000Z",
   "recorded_at": "2026-10-10T08:59:19.007Z",
   "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-9a3d227489974bc2a654c935",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "they are backed to open the scoring again at 3.25 on Saturday.",
   "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-09T08:30:58.000Z",
   "recorded_at": "2026-10-09T08:41:48.059Z",
   "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-720424b923b47d3354060a1a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> HT/FT: Inter Milan at 1.53 | Likelihood: High",
   "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-09T05:37:02.000Z",
   "recorded_at": "2026-10-09T05:43:01.585Z",
   "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-4570be5f6a9a5172eaf7a726",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Ipswich to score last at 2.10 | Likelihood: High",
   "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-09T04:04:57.000Z",
   "recorded_at": "2026-10-09T04:15:33.202Z",
   "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-4512f7dc3fce91ec80af309f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Ipswich to concede first",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T04:04:57.000Z",
   "recorded_at": "2026-10-09T04:15:33.202Z",
   "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-d8451516d5519cae2499cc1d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Brentford to score first at 2.0 | Likelihood: High",
   "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-09T02:59:49.000Z",
   "recorded_at": "2026-10-09T03:09:01.286Z",
   "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-3401c1a57a0505417808dbdf",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Montenegro 2-1 Armenia",
   "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-04T08:30:20.000Z",
   "recorded_at": "2026-10-04T09:06:53.397Z",
   "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",
   "correction": null
  },
  {
   "record_id": "n-c5038b19f63ee5de906ec6ab",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Cyprus 1-0 Latvia",
   "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-03T21:50:56.000Z",
   "recorded_at": "2026-10-03T22:04:24.395Z",
   "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",
   "correction": null
  },
  {
   "record_id": "n-31def9e951094da0de57d49d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 2.5 goals at 2.55 another option worth considering.",
   "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-03T08:25:33.000Z",
   "recorded_at": "2026-10-03T08:29:04.049Z",
   "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-278d6df795943c4f228b91ba",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "BTTS – Yes at 2.50 could be highly on the cards.",
   "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-03T08:25:33.000Z",
   "recorded_at": "2026-10-03T08:29:04.049Z",
   "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-a1b5b5eae0d353cd258ed255",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "making them favourites to pick up another three points at 1.67.",
   "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-03T08:25:33.000Z",
   "recorded_at": "2026-10-03T08:29:04.049Z",
   "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-b3b1a03622b0a99d9c009a79",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Whispers predicts: Malta 2-1 Andorra",
   "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-03T08:25:33.000Z",
   "recorded_at": "2026-10-03T08:29:04.049Z",
   "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-593344394bdb6e5fdf877792",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Whispers predicts: Azerbaijan 1-1 Lithuania",
   "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-03T07:05:56.000Z",
   "recorded_at": "2026-10-03T07:10:36.547Z",
   "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-cea0d2480ed4fef2e4578db9",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Lithuania to score first at 2.40 | Likelihood: Medium",
   "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-03T07:05:56.000Z",
   "recorded_at": "2026-10-03T07:10:36.547Z",
   "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-40cced40f2e252d0fff0f4cb",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Match result: Draw at 3.00 | Likelihood: High",
   "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-03T07:05:56.000Z",
   "recorded_at": "2026-10-03T07:10:36.547Z",
   "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-fa1676df4020936e707e8dd1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 goals at 1.50 | Likelihood: Medium",
   "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-03T07:05:56.000Z",
   "recorded_at": "2026-10-03T07:10:36.547Z",
   "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-4480545e90b553b50e57a19e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – yes at 2.25 | Likelihood: High",
   "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-03T07:05:56.000Z",
   "recorded_at": "2026-10-03T07:10:36.547Z",
   "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-130d6bd0d657307eda49d4ad",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Whispers predicts: Estonia 1-0 Luxembourg",
   "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-01T23:13:29.000Z",
   "recorded_at": "2026-10-01T23:24:37.163Z",
   "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-09947d99312f881d02a4c946",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – No at 1.87",
   "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-01T23:13:29.000Z",
   "recorded_at": "2026-10-01T23:24:37.163Z",
   "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-38731616bc096c4de411c52a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Match result: Estonia win at 2.88",
   "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-01T23:13:29.000Z",
   "recorded_at": "2026-10-01T23:24:37.163Z",
   "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-9009ca7d6bfef5e2ffb7d244",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 goals at 1.62",
   "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-01T23:13:29.000Z",
   "recorded_at": "2026-10-01T23:24:37.163Z",
   "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-f0ebbf3508aeaf49fefff6d2",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Match result: Draw at 4.00",
   "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-01T21:40:59.000Z",
   "recorded_at": "2026-10-01T21:46:47.937Z",
   "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-bb39ec0a94c1c896f08c3751",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 goals at 2.0",
   "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-01T21:40:59.000Z",
   "recorded_at": "2026-10-01T21:46:47.937Z",
   "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-c5b0e08df5f20227e6f11e42",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score at 2.08",
   "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-01T21:40:59.000Z",
   "recorded_at": "2026-10-01T21:46:47.937Z",
   "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-04b29f62d24a2f5df1ff0b5e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Whispers predicts: Iceland 1-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-01T21:40:59.000Z",
   "recorded_at": "2026-10-01T21:46:47.937Z",
   "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-08ee3663c230dbf6f2c7296b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Bulgaria to score first at 3.75",
   "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-01T21:40:59.000Z",
   "recorded_at": "2026-10-01T21:46:47.937Z",
   "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-fae45a10c5edbfd0c7f2dd69",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Martinique 1-2 Honduras",
   "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-30T21:51:21.000Z",
   "recorded_at": "2026-09-30T22:02:30.907Z",
   "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",
   "correction": null
  },
  {
   "record_id": "n-b1688d54de7f344928ba1d60",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – No at 1.85 | Likelihood: High",
   "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-30T09:55:48.000Z",
   "recorded_at": "2026-09-30T10:01:52.938Z",
   "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-dab59c83399bc6c513bd48d4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score: 2-0 at 5.50 | Likelihood: Medium",
   "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-30T09:55:48.000Z",
   "recorded_at": "2026-09-30T10:01:52.938Z",
   "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-1da83379b1e26813a1e2e839",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 goals at 2.40 | Likelihood: High",
   "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-30T09:55:48.000Z",
   "recorded_at": "2026-09-30T10:01:52.938Z",
   "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-04d505c4e5ff182eba5a48ae",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Bahrain 1-1 Yemen",
   "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-28T20:16:53.000Z",
   "recorded_at": "2026-09-28T21:03:53.354Z",
   "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",
   "correction": null
  },
  {
   "record_id": "n-204679ee0556d9013f0a204d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "The Dominican Republic will be buoyed by their opening victory over Nicaragua, and we expect them to build on that result by securing their first away win since November 2024.",
   "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-25T19:54:21.000Z",
   "recorded_at": "2026-09-25T20:56:03.638Z",
   "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",
   "correction": null
  },
  {
   "record_id": "n-9d1ea93ef9e56a5900a82722",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Trinidad and Tobago 1-2 Dominican Republic",
   "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-25T19:54:21.000Z",
   "recorded_at": "2026-09-25T20:56:03.638Z",
   "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",
   "correction": null
  },
  {
   "record_id": "n-f4652b9e1ba7bf38e0692873",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Over 2.5 goals at 1.53 | Likelihood: High",
   "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-24T18:09:36.000Z",
   "recorded_at": "2026-09-24T20:14:14.156Z",
   "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-97ebca95074c456a7dae9237",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Both teams to score at 4.0 | Likelihood: Medium",
   "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-24T18:09:36.000Z",
   "recorded_at": "2026-09-24T20:14:14.156Z",
   "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-b2745983326c272374b77637",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "so a correct score of 1-2 in favour of Finland at 21.0 looks particularly tempting.",
   "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-24T18:09:36.000Z",
   "recorded_at": "2026-09-24T20:14:14.156Z",
   "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
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 103,
  "before_kickoff": 103,
  "after_kickoff": 0,
  "at_least_2h": 103,
  "share_2h_plus": 100.0,
  "median_hours": 34.5,
  "min_hours": 16.8,
  "max_hours": 56.0,
  "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": 53,
  "settled_picks_all": 82,
  "excluded": {
   "market_without_favourite": 11,
   "no_recorded_line": 18,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 530000,
  "author_net_hundredths": 84328,
  "favourite_net_hundredths": 97829,
  "difference_hundredths": -13501,
  "author_return_percent": 15.91,
  "favourite_return_percent": 18.46,
  "author_hit_rate": 62.3,
  "favourite_hit_rate": 67.9,
  "picked_favourite_share": 66.0,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 30,
    "staked_hundredths": 300000,
    "author_net_hundredths": 43729,
    "favourite_net_hundredths": 44579,
    "author_hits": 17,
    "favourite_hits": 19,
    "picked_favourite": 17,
    "author_return_percent": 14.58,
    "favourite_return_percent": 14.86
   },
   {
    "market_code": "both_teams_score",
    "picks": 13,
    "staked_hundredths": 130000,
    "author_net_hundredths": -11317,
    "favourite_net_hundredths": 22434,
    "author_hits": 7,
    "favourite_hits": 9,
    "picked_favourite": 9,
    "author_return_percent": -8.71,
    "favourite_return_percent": 17.26
   },
   {
    "market_code": "total",
    "picks": 10,
    "staked_hundredths": 100000,
    "author_net_hundredths": 51916,
    "favourite_net_hundredths": 30816,
    "author_hits": 9,
    "favourite_hits": 8,
    "picked_favourite": 9,
    "author_return_percent": 51.92,
    "favourite_return_percent": 30.82
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-07T22:30:00.000Z",
    "author_cumulative_hundredths": 24000,
    "favourite_cumulative_hundredths": -10000
   },
   {
    "kickoff": "2026-10-08T00:30:00.000Z",
    "author_cumulative_hundredths": 32696,
    "favourite_cumulative_hundredths": -1304
   },
   {
    "kickoff": "2026-10-08T22:30:00.000Z",
    "author_cumulative_hundredths": 22696,
    "favourite_cumulative_hundredths": -11304
   },
   {
    "kickoff": "2026-10-10T14:00:00.000Z",
    "author_cumulative_hundredths": 30103,
    "favourite_cumulative_hundredths": -3897
   },
   {
    "kickoff": "2026-10-10T14:00:00.000Z",
    "author_cumulative_hundredths": 55103,
    "favourite_cumulative_hundredths": -13897
   },
   {
    "kickoff": "2026-10-10T14:00:00.000Z",
    "author_cumulative_hundredths": 45103,
    "favourite_cumulative_hundredths": -23897
   },
   {
    "kickoff": "2026-10-10T14:00:00.000Z",
    "author_cumulative_hundredths": 51392,
    "favourite_cumulative_hundredths": -17608
   },
   {
    "kickoff": "2026-10-10T14:00:00.000Z",
    "author_cumulative_hundredths": 57139,
    "favourite_cumulative_hundredths": -11861
   },
   {
    "kickoff": "2026-10-10T14:00:00.000Z",
    "author_cumulative_hundredths": 62589,
    "favourite_cumulative_hundredths": -6411
   },
   {
    "kickoff": "2026-10-10T16:00:00.000Z",
    "author_cumulative_hundredths": 52589,
    "favourite_cumulative_hundredths": 256
   },
   {
    "kickoff": "2026-10-10T16:00:00.000Z",
    "author_cumulative_hundredths": 53889,
    "favourite_cumulative_hundredths": 1556
   },
   {
    "kickoff": "2026-10-10T16:00:00.000Z",
    "author_cumulative_hundredths": 58237,
    "favourite_cumulative_hundredths": 5904
   },
   {
    "kickoff": "2026-10-10T18:45:00.000Z",
    "author_cumulative_hundredths": 48237,
    "favourite_cumulative_hundredths": -4096
   },
   {
    "kickoff": "2026-10-11T16:00:00.000Z",
    "author_cumulative_hundredths": 54904,
    "favourite_cumulative_hundredths": 2571
   },
   {
    "kickoff": "2026-10-11T18:45:00.000Z",
    "author_cumulative_hundredths": 62716,
    "favourite_cumulative_hundredths": 10383
   },
   {
    "kickoff": "2026-10-11T18:45:00.000Z",
    "author_cumulative_hundredths": 91216,
    "favourite_cumulative_hundredths": 383
   },
   {
    "kickoff": "2026-10-11T18:45:00.000Z",
    "author_cumulative_hundredths": 101071,
    "favourite_cumulative_hundredths": -9617
   },
   {
    "kickoff": "2026-10-12T16:30:00.000Z",
    "author_cumulative_hundredths": 106785,
    "favourite_cumulative_hundredths": -3903
   },
   {
    "kickoff": "2026-10-12T16:30:00.000Z",
    "author_cumulative_hundredths": 112499,
    "favourite_cumulative_hundredths": 1811
   },
   {
    "kickoff": "2026-10-12T18:45:00.000Z",
    "author_cumulative_hundredths": 102499,
    "favourite_cumulative_hundredths": 15111
   },
   {
    "kickoff": "2026-10-12T18:45:00.000Z",
    "author_cumulative_hundredths": 92499,
    "favourite_cumulative_hundredths": 28411
   },
   {
    "kickoff": "2026-10-13T19:00:00.000Z",
    "author_cumulative_hundredths": 100018,
    "favourite_cumulative_hundredths": 35930
   },
   {
    "kickoff": "2026-10-13T19:00:00.000Z",
    "author_cumulative_hundredths": 107537,
    "favourite_cumulative_hundredths": 43449
   },
   {
    "kickoff": "2026-10-14T19:00:00.000Z",
    "author_cumulative_hundredths": 97537,
    "favourite_cumulative_hundredths": 55699
   },
   {
    "kickoff": "2026-10-14T19:00:00.000Z",
    "author_cumulative_hundredths": 87537,
    "favourite_cumulative_hundredths": 45699
   },
   {
    "kickoff": "2026-10-16T18:45:00.000Z",
    "author_cumulative_hundredths": 102237,
    "favourite_cumulative_hundredths": 60399
   },
   {
    "kickoff": "2026-10-16T18:45:00.000Z",
    "author_cumulative_hundredths": 121037,
    "favourite_cumulative_hundredths": 50399
   },
   {
    "kickoff": "2026-10-17T16:00:00.000Z",
    "author_cumulative_hundredths": 128030,
    "favourite_cumulative_hundredths": 57392
   },
   {
    "kickoff": "2026-10-17T16:00:00.000Z",
    "author_cumulative_hundredths": 133844,
    "favourite_cumulative_hundredths": 63206
   },
   {
    "kickoff": "2026-10-17T18:45:00.000Z",
    "author_cumulative_hundredths": 123844,
    "favourite_cumulative_hundredths": 71948
   },
   {
    "kickoff": "2026-10-17T18:45:00.000Z",
    "author_cumulative_hundredths": 128249,
    "favourite_cumulative_hundredths": 76353
   },
   {
    "kickoff": "2026-10-18T16:00:00.000Z",
    "author_cumulative_hundredths": 135366,
    "favourite_cumulative_hundredths": 83470
   },
   {
    "kickoff": "2026-10-19T16:30:00.000Z",
    "author_cumulative_hundredths": 125366,
    "favourite_cumulative_hundredths": 97270
   },
   {
    "kickoff": "2026-10-19T16:30:00.000Z",
    "author_cumulative_hundredths": 115366,
    "favourite_cumulative_hundredths": 87270
   },
   {
    "kickoff": "2026-10-19T16:30:00.000Z",
    "author_cumulative_hundredths": 126466,
    "favourite_cumulative_hundredths": 77270
   },
   {
    "kickoff": "2026-10-19T18:45:00.000Z",
    "author_cumulative_hundredths": 116466,
    "favourite_cumulative_hundredths": 85467
   },
   {
    "kickoff": "2026-10-19T18:45:00.000Z",
    "author_cumulative_hundredths": 106466,
    "favourite_cumulative_hundredths": 98967
   },
   {
    "kickoff": "2026-10-21T22:00:00.000Z",
    "author_cumulative_hundredths": 96466,
    "favourite_cumulative_hundredths": 88967
   },
   {
    "kickoff": "2026-10-22T00:30:00.000Z",
    "author_cumulative_hundredths": 86466,
    "favourite_cumulative_hundredths": 78967
   },
   {
    "kickoff": "2026-10-23T18:45:00.000Z",
    "author_cumulative_hundredths": 93985,
    "favourite_cumulative_hundredths": 86486
   },
   {
    "kickoff": "2026-10-23T18:45:00.000Z",
    "author_cumulative_hundredths": 83985,
    "favourite_cumulative_hundredths": 76486
   },
   {
    "kickoff": "2026-10-23T18:45:00.000Z",
    "author_cumulative_hundredths": 73985,
    "favourite_cumulative_hundredths": 87486
   },
   {
    "kickoff": "2026-10-24T13:30:00.000Z",
    "author_cumulative_hundredths": 63985,
    "favourite_cumulative_hundredths": 77486
   },
   {
    "kickoff": "2026-10-24T13:30:00.000Z",
    "author_cumulative_hundredths": 69585,
    "favourite_cumulative_hundredths": 83086
   },
   {
    "kickoff": "2026-10-24T13:30:00.000Z",
    "author_cumulative_hundredths": 73985,
    "favourite_cumulative_hundredths": 87486
   },
   {
    "kickoff": "2026-10-24T16:00:00.000Z",
    "author_cumulative_hundredths": 80437,
    "favourite_cumulative_hundredths": 93938
   },
   {
    "kickoff": "2026-10-24T18:45:00.000Z",
    "author_cumulative_hundredths": 89237,
    "favourite_cumulative_hundredths": 102738
   },
   {
    "kickoff": "2026-10-25T11:30:00.000Z",
    "author_cumulative_hundredths": 92737,
    "favourite_cumulative_hundredths": 106238
   },
   {
    "kickoff": "2026-10-25T11:30:00.000Z",
    "author_cumulative_hundredths": 96837,
    "favourite_cumulative_hundredths": 110338
   },
   {
    "kickoff": "2026-10-25T14:30:00.000Z",
    "author_cumulative_hundredths": 86837,
    "favourite_cumulative_hundredths": 100338
   },
   {
    "kickoff": "2026-10-25T14:30:00.000Z",
    "author_cumulative_hundredths": 76837,
    "favourite_cumulative_hundredths": 90338
   },
   {
    "kickoff": "2026-10-25T14:30:00.000Z",
    "author_cumulative_hundredths": 80528,
    "favourite_cumulative_hundredths": 94029
   },
   {
    "kickoff": "2026-10-25T16:30:00.000Z",
    "author_cumulative_hundredths": 84328,
    "favourite_cumulative_hundredths": 97829
   }
  ],
  "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": 162,
  "pages": 10,
  "page_urls": [
   "/authors/saikat-mandal/",
   "/authors/saikat-mandal/picks/2/",
   "/authors/saikat-mandal/picks/3/",
   "/authors/saikat-mandal/picks/4/",
   "/authors/saikat-mandal/picks/5/",
   "/authors/saikat-mandal/picks/6/",
   "/authors/saikat-mandal/picks/7/",
   "/authors/saikat-mandal/picks/8/",
   "/authors/saikat-mandal/picks/9/",
   "/authors/saikat-mandal/picks/10/"
  ],
  "groups": {
   "settled": 61,
   "pending": 1,
   "excluded": 100
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/saikat-mandal/",
  "current": false
 },
 "title_tag": "Saikat Mandal Predictions: Verified Record, Results and Sources",
 "calculator": {
  "url": "/tools/luck-or-skill/?n=57&odds=2.16&roi=32.5&src=record",
  "n": 57,
  "odds": "2.16",
  "roi": "32.5",
  "series": "Recorded before kick-off, at our recorded market price"
 },
 "person": {
  "person_id": "o-ead51241226b1f2185df2120",
  "type_code": "individual",
  "name_shown": "Saikat Mandal",
  "main_entity": "e-ead51241226b1f2185df2120",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-ead51241226b1f2185df2120",
    "medium": "Football Whispers",
    "channel": "RSS feed",
    "domain": "footballwhispers.com",
    "source_info": "football-whispers",
    "byline": "Saikat Mandal",
    "url": "/sources/football-whispers/",
    "summary": {
     "statements": 271,
     "predictions": 143,
     "settled_picks": 57,
     "headline_kind": "live_snapshot",
     "return_percent": 32.53,
     "headline_part": "live",
     "period_from": "2026-09-24",
     "period_to": "2026-10-24"
    }
   },
   {
    "entity_ref": "e-754121a1b0c37b84ea780cd4",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Saikat Mandal",
    "url": "/sources/sports-mole/",
    "summary": {
     "statements": 306,
     "predictions": 19,
     "settled_picks": 0,
     "headline_kind": null,
     "return_percent": null,
     "headline_part": null,
     "period_from": "2026-09-25",
     "period_to": "2026-10-24"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-11-07.2",
  "updated": "2026-11-07",
  "current_release": "2026-11-07.2",
  "data_as_of": "2026-11-07",
  "method_version": "2.2",
  "price_rule": "independent odds snapshot",
  "series_code": "market_price",
  "sample": {
   "settled_picks": 57,
   "matches": 24,
   "void": 0,
   "period_from": "2026-10-10",
   "period_to": "2026-10-25",
   "composition_hash": "cd054012cb526bef54d13a269d881c39f1b604dee3e5f8a0e86dea9c6f4fb643"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-cb41f1dda7556df81000",
   "at": "2026-11-07T20:05:20.937Z",
   "data_version": "2026-11-07.2",
   "previous_data_version": "2026-11-07.1",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-07.1",
    "return_percent": "34.82",
    "settled_picks": 55,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "21712dcd18b1578a20a202a2b0a157f2dfd469e4ea00f5a6537f66ca6a47e2cc",
    "text": "+34.82% on 55 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-07.2",
    "return_percent": "32.53",
    "settled_picks": 57,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "cd054012cb526bef54d13a269d881c39f1b604dee3e5f8a0e86dea9c6f4fb643",
    "text": "+32.53% on 57 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 2 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-dbf79e1b9d08ffdb5d4e",
   "at": "2026-11-07T07:42:45.749Z",
   "data_version": "2026-11-07.1",
   "previous_data_version": "2026-11-06.2",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-06.2",
    "return_percent": "38.87",
    "settled_picks": 50,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "0f47cf600b3b4a79462953aeee8533042c821f6138008c6caa8a711c1a0f90f3",
    "text": "+38.87% on 50 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-07.1",
    "return_percent": "34.82",
    "settled_picks": 55,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "21712dcd18b1578a20a202a2b0a157f2dfd469e4ea00f5a6537f66ca6a47e2cc",
    "text": "+34.82% on 55 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 5 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 5,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-e2930ca2ede532b8d5ff",
   "at": "2026-11-07T00:03:19.781Z",
   "data_version": "2026-11-06.2",
   "previous_data_version": "2026-11-06.1",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-27.1",
    "return_percent": "43.93",
    "settled_picks": 47,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "47db32db61f1cc55e8025d99d74d0473131166f4ad266509cb118e28d53357f6",
    "text": "+43.93% on 47 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-06.2",
    "return_percent": "38.87",
    "settled_picks": 50,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "0f47cf600b3b4a79462953aeee8533042c821f6138008c6caa8a711c1a0f90f3",
    "text": "+38.87% on 50 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 3 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 3,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-502c167015bfbbda815a",
   "at": "2026-10-27T07:47:02.386Z",
   "data_version": "2026-10-27.1",
   "previous_data_version": "2026-10-26.1",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-24.5",
    "return_percent": "44.46",
    "settled_picks": 39,
    "matches": 21,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "36272f9a0d500a33abf3f29f58d5b16141e7151474680a5b9df14816cdc20509",
    "text": "+44.46% on 39 settled picks across 21 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-27.1",
    "return_percent": "43.93",
    "settled_picks": 47,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "47db32db61f1cc55e8025d99d74d0473131166f4ad266509cb118e28d53357f6",
    "text": "+43.93% on 47 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 3 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture); also 5 new results.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 8,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-d0f4f29f198ac378530c",
   "at": "2026-10-25T01:37:51.007Z",
   "data_version": "2026-10-24.5",
   "previous_data_version": "2026-10-24.4",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-24.4",
    "return_percent": "18.47",
    "settled_picks": 35,
    "matches": 19,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "65ba9f1b317325dd12c465ac5ac189ac802b832697ce2b5a6a3b2c3887fa62d3",
    "text": "+18.47% on 35 settled picks across 19 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-24.5",
    "return_percent": "44.46",
    "settled_picks": 39,
    "matches": 21,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "36272f9a0d500a33abf3f29f58d5b16141e7151474680a5b9df14816cdc20509",
    "text": "+44.46% on 39 settled picks across 21 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture); also 3 new results.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 4,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-5512e28af81f80de4d25",
   "at": "2026-10-24T16:52:01.947Z",
   "data_version": "2026-10-24.4",
   "previous_data_version": "2026-10-24.3",
   "url": "/authors/saikat-mandal/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-24.1",
    "return_percent": "21.37",
    "settled_picks": 31,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "94b4f5a63e24b0a7e01025f7c21f85ba0f78a5e602e05977089eea06f6eafb5c",
    "text": "+21.37% on 31 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-24.4",
    "return_percent": "18.47",
    "settled_picks": 35,
    "matches": 19,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "65ba9f1b317325dd12c465ac5ac189ac802b832697ce2b5a6a3b2c3887fa62d3",
    "text": "+18.47% on 35 settled picks across 19 matches · independent odds snapshot · method 2.2"
   },
   "reason": "4 new settled picks from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 4,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-9b72d3dfbf04c7a0542f",
   "at": "2026-10-24T01:51:11.728Z",
   "data_version": "2026-10-24.1",
   "previous_data_version": "2026-10-23.4",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-22.5",
    "return_percent": "23.70",
    "settled_picks": 29,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "6a160e4a21d07043825e418963480f973014570307e8768ffc0a0bb6654429ec",
    "text": "+23.70% on 29 settled picks across 16 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-24.1",
    "return_percent": "21.37",
    "settled_picks": 31,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "94b4f5a63e24b0a7e01025f7c21f85ba0f78a5e602e05977089eea06f6eafb5c",
    "text": "+21.37% on 31 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 2 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-f933130287db0fbfa2dd",
   "at": "2026-10-22T13:04:00.441Z",
   "data_version": "2026-10-22.4",
   "previous_data_version": "2026-10-22.3",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-19.7",
    "return_percent": "26.66",
    "settled_picks": 26,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "910e6ecca4390602f3e4050f5772a7e53957c674b9a8010200410bf255849070",
    "text": "+26.66% on 26 settled picks across 16 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-22.4",
    "return_percent": "23.70",
    "settled_picks": 29,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "7f364858729c466d9c8c8a6fdb4b918eacd13b70971ea0a40d26454d71c7f189",
    "text": "+23.70% on 29 settled picks across 16 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 3 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 3,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-1289d0975ea41f5e61aa",
   "at": "2026-10-19T23:18:20.062Z",
   "data_version": "2026-10-19.7",
   "previous_data_version": "2026-10-19.6",
   "url": "/authors/saikat-mandal/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-19.6",
    "return_percent": "33.85",
    "settled_picks": 26,
    "matches": 15,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "6f1216218ca7871d6d3ce33b8b61ba1cc5febea51c590f507c7b4d9754e64f12",
    "text": "+33.85% on 26 settled picks across 15 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-19.7",
    "return_percent": "26.66",
    "settled_picks": 26,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "910e6ecca4390602f3e4050f5772a7e53957c674b9a8010200410bf255849070",
    "text": "+26.66% on 26 settled picks across 16 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Data corrected: 1 pick left the headline sample; 3 picks added.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 3,
    "removed": 1,
    "changed": 0
   },
   "correction_id": "i-c60c157f3aa8fc1aa214"
  },
  {
   "id": "zc-2c1f4cba2dcdf3bb6be0",
   "at": "2026-10-19T19:39:27.559Z",
   "data_version": "2026-10-19.6",
   "previous_data_version": "2026-10-19.5",
   "url": "/authors/saikat-mandal/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-18.8",
    "return_percent": "25.74",
    "settled_picks": 26,
    "matches": 14,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "e3ccc52180c3bd767e39e43589711cada533e4fdd1add2990ab6e428f721b373",
    "text": "+25.74% on 26 settled picks across 14 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-19.6",
    "return_percent": "33.85",
    "settled_picks": 26,
    "matches": 15,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "6f1216218ca7871d6d3ce33b8b61ba1cc5febea51c590f507c7b4d9754e64f12",
    "text": "+33.85% on 26 settled picks across 15 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Data corrected: 2 picks left the headline sample.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 2,
    "changed": 0
   },
   "correction_id": "i-5b8e066f8a83da3f4b9a"
  },
  {
   "id": "zc-d1329269bcccc5a1d9d1",
   "at": "2026-10-18T21:29:31.006Z",
   "data_version": "2026-10-18.8",
   "previous_data_version": "2026-10-18.7",
   "url": "/authors/saikat-mandal/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-18.1",
    "return_percent": "29.08",
    "settled_picks": 24,
    "matches": 13,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "a06a4a5d21d872a344bfcfe56f5cedd6a53d5f21b189928ad802bbf7b564da1a",
    "text": "+29.08% on 24 settled picks across 13 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-18.8",
    "return_percent": "25.74",
    "settled_picks": 26,
    "matches": 14,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "e3ccc52180c3bd767e39e43589711cada533e4fdd1add2990ab6e428f721b373",
    "text": "+25.74% on 26 settled picks across 14 matches · independent odds snapshot · method 2.2"
   },
   "reason": "2 new settled picks from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-9e27963b03dcc2ed0389",
   "at": "2026-10-18T01:26:50.135Z",
   "data_version": "2026-10-18.1",
   "previous_data_version": "2026-10-17.5",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-17.4",
    "return_percent": "34.69",
    "settled_picks": 23,
    "matches": 12,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "30579666f97e80999352cd6c4c363eb65aa44c226ce83a243edddfaea208d508",
    "text": "+34.69% on 23 settled picks across 12 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-18.1",
    "return_percent": "29.08",
    "settled_picks": 24,
    "matches": 13,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "a06a4a5d21d872a344bfcfe56f5cedd6a53d5f21b189928ad802bbf7b564da1a",
    "text": "+29.08% on 24 settled picks across 13 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-ea171fafc1e2eba06400",
   "at": "2026-10-17T20:13:03.224Z",
   "data_version": "2026-10-17.4",
   "previous_data_version": "2026-10-17.3",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-14.3",
    "return_percent": "25.72",
    "settled_picks": 21,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "1fdf60ebe93ebbf914cd82c495382bf14842c8ab4e1e930d6ddb5737f6ab436c",
    "text": "+25.72% on 21 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-17.4",
    "return_percent": "34.69",
    "settled_picks": 23,
    "matches": 12,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "30579666f97e80999352cd6c4c363eb65aa44c226ce83a243edddfaea208d508",
    "text": "+34.69% on 23 settled picks across 12 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture); also 1 new result.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-dd1eca938888d788f563",
   "at": "2026-10-14T22:11:18.139Z",
   "data_version": "2026-10-14.3",
   "previous_data_version": "2026-10-14.2",
   "url": "/authors/saikat-mandal/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-13.6",
    "return_percent": "36.28",
    "settled_picks": 18,
    "matches": 9,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "289c4502e261081e9e78867507bbb6d90bee031abe99e58ad0d5fec6269a6034",
    "text": "+36.28% on 18 settled picks across 9 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-14.3",
    "return_percent": "25.72",
    "settled_picks": 21,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "1fdf60ebe93ebbf914cd82c495382bf14842c8ab4e1e930d6ddb5737f6ab436c",
    "text": "+25.72% on 21 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "reason": "3 new settled picks from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 3,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-3d1c5502a86fc53a5254",
   "at": "2026-10-13T21:34:28.953Z",
   "data_version": "2026-10-13.6",
   "previous_data_version": "2026-10-13.5",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-12.5",
    "return_percent": "42.37",
    "settled_picks": 16,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "ef063ec7141665988c175751e67647b58c17eda33464021147c8f2ec5d666a5d",
    "text": "+42.37% on 16 settled picks across 8 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-13.6",
    "return_percent": "36.28",
    "settled_picks": 18,
    "matches": 9,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "289c4502e261081e9e78867507bbb6d90bee031abe99e58ad0d5fec6269a6034",
    "text": "+36.28% on 18 settled picks across 9 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 2 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-6211bf7b4408837e61f2",
   "at": "2026-10-12T21:23:00.584Z",
   "data_version": "2026-10-12.5",
   "previous_data_version": "2026-10-12.4",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-11.8",
    "return_percent": "51.48",
    "settled_picks": 14,
    "matches": 6,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "5b9654a985357b0d99caf34f72d600dc2de0387ddc806227674604a99bc8abfc",
    "text": "+51.48% on 14 settled picks across 6 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-12.5",
    "return_percent": "42.37",
    "settled_picks": 16,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "ef063ec7141665988c175751e67647b58c17eda33464021147c8f2ec5d666a5d",
    "text": "+42.37% on 16 settled picks across 8 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture); also 1 new result.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-0d5483fbf8bdd8e05e18",
   "at": "2026-10-11T21:54:36.315Z",
   "data_version": "2026-10-11.8",
   "previous_data_version": "2026-10-11.7",
   "url": "/authors/saikat-mandal/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-11.6",
    "return_percent": "23.55",
    "settled_picks": 11,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "3ffa92436cc6f91a20717dcd638250fdf91ffb56089de022bf9f13f310f8d28f",
    "text": "+23.55% on 11 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-11.8",
    "return_percent": "51.48",
    "settled_picks": 14,
    "matches": 6,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "5b9654a985357b0d99caf34f72d600dc2de0387ddc806227674604a99bc8abfc",
    "text": "+51.48% on 14 settled picks across 6 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 3 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 3,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-a15b2e5a6504839461fa",
   "at": "2026-10-11T19:38:24.634Z",
   "data_version": "2026-10-11.6",
   "previous_data_version": "2026-10-11.5",
   "url": "/authors/saikat-mandal/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-10.4",
    "return_percent": "19.24",
    "settled_picks": 10,
    "matches": 4,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "6e9681cf3af0b8820ead00df3152973810e398fae4c404694991454c0e604e6c",
    "text": "+19.24% on 10 settled picks across 4 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-11.6",
    "return_percent": "23.55",
    "settled_picks": 11,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "3ffa92436cc6f91a20717dcd638250fdf91ffb56089de022bf9f13f310f8d28f",
    "text": "+23.55% on 11 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "reason": "1 new settled pick from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-c16e5acf4e6bfa5511df",
   "at": "2026-10-10T23:53:02.873Z",
   "data_version": "2026-10-10.4",
   "previous_data_version": "2026-10-10.3",
   "url": "/authors/saikat-mandal/",
   "category": "new_results",
   "category_words": "New results",
   "before": null,
   "after": {
    "data_version": "2026-10-10.4",
    "return_percent": "19.24",
    "settled_picks": 10,
    "matches": 4,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "6e9681cf3af0b8820ead00df3152973810e398fae4c404694991454c0e604e6c",
    "text": "+19.24% on 10 settled picks across 4 matches · independent odds snapshot · method 2.2"
   },
   "reason": "First headline number for this record: 10 settled picks in the series “independent odds snapshot”.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 10,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 57,
    "total_check": true,
    "market_list": [
     {
      "code_name": "both_teams_score",
      "in_words": "Both teams to score",
      "url": null,
      "settled_picks": 18,
      "won": 11,
      "void": 0,
      "net_points_hundredths": 909,
      "return_percent": "0.5",
      "period_from": "2026-10-10",
      "period_to": "2026-10-25",
      "small_sample": false,
      "average_odds": "1.78",
      "odds_from_author": 18,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "total",
      "in_words": "Over/under goals",
      "url": null,
      "settled_picks": 18,
      "won": 12,
      "void": 0,
      "net_points_hundredths": 18027,
      "return_percent": "10.0",
      "period_from": "2026-10-10",
      "period_to": "2026-10-25",
      "small_sample": false,
      "average_odds": "1.75",
      "odds_from_author": 18,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 10,
      "won": 5,
      "void": 0,
      "net_points_hundredths": 14881,
      "return_percent": "14.9",
      "period_from": "2026-10-10",
      "period_to": "2026-10-25",
      "small_sample": false,
      "average_odds": "2.71",
      "odds_from_author": 10,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "both_teams_score_and_result",
      "in_words": "Result and both teams to score",
      "url": null,
      "settled_picks": 7,
      "won": 4,
      "void": 0,
      "net_points_hundredths": 50500,
      "return_percent": "72.1",
      "period_from": "2026-10-10",
      "period_to": "2026-10-25",
      "small_sample": true,
      "average_odds": "3.00",
      "odds_from_author": 7,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "corners_total",
      "in_words": "Corners over/under",
      "url": null,
      "settled_picks": 2,
      "won": 2,
      "void": 0,
      "net_points_hundredths": 18100,
      "return_percent": "90.5",
      "period_from": "2026-10-24",
      "period_to": "2026-10-25",
      "small_sample": true,
      "average_odds": "1.97",
      "odds_from_author": 2,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "correct_score_market",
      "in_words": "Correct score",
      "url": null,
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 69000,
      "return_percent": "690.0",
      "period_from": "2026-10-24",
      "period_to": "2026-10-24",
      "small_sample": true,
      "average_odds": "7.90",
      "odds_from_author": 0,
      "odds_from_snapshot": 1
     },
     {
      "code_name": "player_to_score",
      "in_words": "Player to score",
      "url": null,
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 14000,
      "return_percent": "140.0",
      "period_from": "2026-10-25",
      "period_to": "2026-10-25",
      "small_sample": true,
      "average_odds": "2.50",
      "odds_from_author": 1,
      "odds_from_snapshot": 0
     }
    ],
    "leagues": [
     {
      "code_name": "Serie A",
      "in_words": "Serie A",
      "url": "/football/competitions/serie-a/",
      "settled_picks": 37,
      "won": 24,
      "void": 0,
      "net_points_hundredths": 152014,
      "return_percent": "41.1",
      "period_from": "2026-10-10",
      "period_to": "2026-10-25",
      "small_sample": false,
      "average_odds": "2.15",
      "odds_from_author": 36,
      "odds_from_snapshot": 1,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 14,
        "won": 8,
        "void": 0,
        "net_points_hundredths": -4188,
        "return_percent": "-3.0",
        "period_from": "2026-10-10",
        "period_to": "2026-10-24",
        "small_sample": false,
        "average_odds": "1.85",
        "odds_from_author": 14,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 14,
        "won": 8,
        "void": 0,
        "net_points_hundredths": -4960,
        "return_percent": "-3.5",
        "period_from": "2026-10-10",
        "period_to": "2026-10-25",
        "small_sample": false,
        "average_odds": "1.78",
        "odds_from_author": 14,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 5,
        "won": 4,
        "void": 0,
        "net_points_hundredths": 47362,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-16",
        "small_sample": true,
        "average_odds": "2.59",
        "odds_from_author": 5,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "both_teams_score_and_result",
        "in_words": "Result and both teams to score",
        "settled_picks": 2,
        "won": 2,
        "void": 0,
        "net_points_hundredths": 39500,
        "return_percent": null,
        "period_from": "2026-10-24",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "3.05",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "corners_total",
        "in_words": "Corners over/under",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 5300,
        "return_percent": null,
        "period_from": "2026-10-25",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "1.57",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "correct_score_market",
        "in_words": "Correct score",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 69000,
        "return_percent": null,
        "period_from": "2026-10-24",
        "period_to": "2026-10-24",
        "small_sample": true,
        "average_odds": "7.90",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     },
     {
      "code_name": "Bundesliga",
      "in_words": "Bundesliga",
      "url": "/football/competitions/bundesliga/",
      "settled_picks": 10,
      "won": 6,
      "void": 0,
      "net_points_hundredths": 10991,
      "return_percent": "11.0",
      "period_from": "2026-10-24",
      "period_to": "2026-10-25",
      "small_sample": false,
      "average_odds": "2.08",
      "odds_from_author": 10,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "both_teams_score_and_result",
        "in_words": "Result and both teams to score",
        "settled_picks": 3,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -9000,
        "return_percent": null,
        "period_from": "2026-10-24",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "2.60",
        "odds_from_author": 3,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 2,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -6100,
        "return_percent": null,
        "period_from": "2026-10-24",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "1.44",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 2,
        "won": 2,
        "void": 0,
        "net_points_hundredths": 9291,
        "return_percent": null,
        "period_from": "2026-10-24",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "1.50",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "corners_total",
        "in_words": "Corners over/under",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 12800,
        "return_percent": null,
        "period_from": "2026-10-24",
        "period_to": "2026-10-24",
        "small_sample": true,
        "average_odds": "2.37",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-10-25",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "2.25",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "player_to_score",
        "in_words": "Player to score",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 14000,
        "return_percent": null,
        "period_from": "2026-10-25",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "2.50",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "Premier League",
      "in_words": "Premier League",
      "url": "/football/competitions/premier-league/",
      "settled_picks": 6,
      "won": 5,
      "void": 0,
      "net_points_hundredths": 44893,
      "return_percent": "74.8",
      "period_from": "2026-10-10",
      "period_to": "2026-10-10",
      "small_sample": true,
      "average_odds": "2.43",
      "odds_from_author": 6,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 2,
        "won": 2,
        "void": 0,
        "net_points_hundredths": 11197,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-10",
        "small_sample": true,
        "average_odds": "1.60",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 2,
        "won": 2,
        "void": 0,
        "net_points_hundredths": 13696,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-10",
        "small_sample": true,
        "average_odds": "1.74",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-10",
        "small_sample": true,
        "average_odds": "3.40",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "both_teams_score_and_result",
        "in_words": "Result and both teams to score",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 30000,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-10",
        "small_sample": true,
        "average_odds": "4.50",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "UEFA Champions League",
      "in_words": "UEFA Champions League",
      "url": "/football/competitions/uefa-champions-league/",
      "settled_picks": 4,
      "won": 1,
      "void": 0,
      "net_points_hundredths": -22481,
      "return_percent": "-56.2",
      "period_from": "2026-10-13",
      "period_to": "2026-10-14",
      "small_sample": true,
      "average_odds": "2.78",
      "odds_from_author": 4,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 3,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -12481,
        "return_percent": null,
        "period_from": "2026-10-13",
        "period_to": "2026-10-14",
        "small_sample": true,
        "average_odds": "2.83",
        "odds_from_author": 3,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "both_teams_score_and_result",
        "in_words": "Result and both teams to score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-10-13",
        "period_to": "2026-10-13",
        "small_sample": true,
        "average_odds": "2.63",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     }
    ],
    "best_slice": {
     "portion": "live",
     "scope": "market",
     "competition": null,
     "competition_url": null,
     "market_code": "total",
     "market_words": "Over/under goals",
     "in_words": "Over/under goals",
     "settled_picks": 18,
     "won": 12,
     "lost": 6,
     "void": 0,
     "net_points_hundredths": 18027,
     "return_percent": "10.0",
     "small_sample": false,
     "threshold": 15,
     "average_odds": "1.75",
     "odds_from_author": 18,
     "odds_from_snapshot": 0,
     "period_from": "2026-10-10",
     "period_to": "2026-10-25"
    }
   }
  ],
  "best_slice": {
   "portion": "live",
   "scope": "market",
   "competition": null,
   "competition_url": null,
   "market_code": "total",
   "market_words": "Over/under goals",
   "in_words": "Over/under goals",
   "settled_picks": 18,
   "won": 12,
   "lost": 6,
   "void": 0,
   "net_points_hundredths": 18027,
   "return_percent": "10.0",
   "small_sample": false,
   "threshold": 15,
   "average_odds": "1.75",
   "odds_from_author": 18,
   "odds_from_snapshot": 0,
   "period_from": "2026-10-10",
   "period_to": "2026-10-25"
  }
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 24 September 2026 · 162 predictions · last change 24 October 2026",
  "url": "https://forecastrecord.com/authors/saikat-mandal/",
  "s": "2026-09-24",
  "prediction_count": 162,
  "refreshed_at": "2026-10-24",
  "html": "<a href=\"https://forecastrecord.com/authors/saikat-mandal/\">Record tracked by Forecast Record since 24 September 2026 · 162 predictions · last change 24 October 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 101,
  "days": 25,
  "weeks": 4,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 42,
  "first_settled_on": "2026-10-01",
  "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": "football-whispers",
   "source_name": "Football Whispers",
   "source_url": "/sources/football-whispers/",
   "label": "Also at Football Whispers",
   "authors_total": 15,
   "authors": [
    {
     "name": "Kelechi Udoka",
     "url": "/authors/kelechi-udoka/",
     "headline_part": "live",
     "settled_picks": 163,
     "return_percent": "-6.4",
     "small_sample": false,
     "average_odds": "2.94",
     "odds_from_author": 154,
     "odds_from_snapshot": 9
    },
    {
     "name": "Adam Clancy",
     "url": "/authors/adam-clancy/",
     "headline_part": "live",
     "settled_picks": 90,
     "return_percent": "11.8",
     "small_sample": false,
     "average_odds": "2.74",
     "odds_from_author": 84,
     "odds_from_snapshot": 6
    },
    {
     "name": "Stephen",
     "url": "/authors/stephen/",
     "headline_part": "live",
     "settled_picks": 84,
     "return_percent": "-15.5",
     "small_sample": false,
     "average_odds": "1.90",
     "odds_from_author": 82,
     "odds_from_snapshot": 2
    },
    {
     "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": "Akhil Fisher",
     "url": "/authors/akhil-fisher/",
     "headline_part": "live",
     "settled_picks": 22,
     "return_percent": "5.6",
     "small_sample": false,
     "average_odds": "2.18",
     "odds_from_author": 21,
     "odds_from_snapshot": 1
    },
    {
     "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": "Andy Delaney",
     "url": "/authors/andy-delaney/",
     "headline_part": "live",
     "settled_picks": 14,
     "return_percent": "61.7",
     "small_sample": false,
     "average_odds": "2.00",
     "odds_from_author": 13,
     "odds_from_snapshot": 1
    }
   ]
  },
  {
   "source_code": "sports-mole",
   "source_name": "Sports Mole",
   "source_url": "/sources/sports-mole/",
   "label": "Also at Sports Mole",
   "authors_total": 24,
   "authors": [
    {
     "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
    },
    {
     "name": "Seye Omidiora",
     "url": "/authors/seye-omidiora/",
     "headline_part": "live",
     "settled_picks": 5,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "10.50",
     "odds_from_author": 0,
     "odds_from_snapshot": 5
    }
   ]
  }
 ],
 "author_type": "Pundit",
 "data_changes": {
  "added_later": null,
  "records_corrected": 0,
  "last_correction_at": "2026-10-19T23:18:20.062Z",
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-ead51241226b1f2185df2120",
 "source_revision": 201,
 "related": [
  {
   "url": "/cards/e-ead51241226b1f2185df2120-bank/",
   "name": "Bankroll card — Saikat Mandal",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ead51241226b1f2185df2120-month-following/",
   "name": "A month following Saikat Mandal",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ead51241226b1f2185df2120-said-vs-happened/",
   "name": "Said → happened — Saikat Mandal",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ead51241226b1f2185df2120-turning-point/",
   "name": "Turning point — Saikat Mandal",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/saikat-mandal/",
   "name": "Your record on Forecast Record: Saikat Mandal",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 61,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 162,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 162,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 57,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 101,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 57,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  },
  {
   "set": "profile.checked",
   "entity": "e-ead51241226b1f2185df2120",
   "value": 101,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
