{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "source",
 "url": "/sources/paris-sportifs-ouest-france-fr/",
 "canonical": "/sources/paris-sportifs-ouest-france-fr/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Ouest-France paris sportifs: Football Prediction Record",
 "description": "Verified record: 50 settled picks by Ouest-France paris sportifs recorded before kick-off across 24 matches, 11 Oct 2026 – 23 Oct 2026.",
 "first_paragraph": {
  "body": "Forecast Record recorded 50 settled live picks by Ouest-France paris sportifs before kick-off across 24 matches between 11 and 23 October 2026. At our recorded market prices these picks returned −19.0% on the total staked. Of the 154 predictions we hold for Ouest-France paris sportifs, 101 are linked to matches: 101 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "−19.0%",
  "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": 50,
  "date_count": 9,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T18:07:42.517Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "88f9e6625f55d738d9fcf087afc856ef2a610fa8da1cb77f9504f62a8b556767",
 "dependency_group": "author:e-ad551d9e75e7ce9b7cb2722f",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/sources/paris-sportifs-ouest-france-fr/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/sources/paris-sportifs-ouest-france-fr/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-ad551d9e75e7ce9b7cb2722f",
  "public_name": "Ouest-France paris sportifs",
  "tracker_number": 2940,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-10-11",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-ad551d9e75e7ce9b7cb2722f-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": "-18.9680",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 50,
   "n_events": 24,
   "n_void": 0,
   "ci_low": "-44.3658",
   "ci_high": "6.1806",
   "ci_method": "cluster_bootstrap",
   "price_source": "market_price",
   "coverage_percent": "0.00",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T18:07:42.517Z",
   "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: 50 settled picks across 24 matches",
  "average_odds": "1.99",
  "odds_from_author": 0,
  "odds_from_snapshot": 50
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-8d162a0fdefa527cbfafedf5",
  "bankroll_hundredths": 911295,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": -88705,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-10-11T15:11:32.665Z",
    "bankroll_hundredths": 990000,
    "profit_hundredths": -10000,
    "outcome_id": "ish-d896c49b19a35535652618bd"
   },
   {
    "at": "2026-10-11T15:11:32.685Z",
    "bankroll_hundredths": 980000,
    "profit_hundredths": -20000,
    "outcome_id": "ish-afedc11aa3e81e2ecdff649c"
   },
   {
    "at": "2026-10-11T15:11:33.420Z",
    "bankroll_hundredths": 987870,
    "profit_hundredths": -12130,
    "outcome_id": "ish-5b518c1ea5d77b7aec3ea069"
   },
   {
    "at": "2026-10-11T15:11:33.443Z",
    "bankroll_hundredths": 991912,
    "profit_hundredths": -8088,
    "outcome_id": "ish-ae7557575b72cbfb52e62644"
   },
   {
    "at": "2026-10-11T15:11:33.915Z",
    "bankroll_hundredths": 981912,
    "profit_hundredths": -18088,
    "outcome_id": "ish-3efbed110f4d6387fac701dd"
   },
   {
    "at": "2026-10-11T19:19:14.666Z",
    "bankroll_hundredths": 971912,
    "profit_hundredths": -28088,
    "outcome_id": "ish-9f5a3023ce96238a65aad670"
   },
   {
    "at": "2026-10-11T19:19:14.677Z",
    "bankroll_hundredths": 976912,
    "profit_hundredths": -23088,
    "outcome_id": "ish-14c8017dc00f03bff9daf3f6"
   },
   {
    "at": "2026-10-11T19:19:14.683Z",
    "bankroll_hundredths": 966912,
    "profit_hundredths": -33088,
    "outcome_id": "ish-bbbc8c50865c1343273f2ba6"
   },
   {
    "at": "2026-10-11T19:19:14.747Z",
    "bankroll_hundredths": 956912,
    "profit_hundredths": -43088,
    "outcome_id": "ish-74c25861bd0c15ad9c02a90a"
   },
   {
    "at": "2026-10-11T19:32:25.629Z",
    "bankroll_hundredths": 961114,
    "profit_hundredths": -38886,
    "outcome_id": "ish-d7648df91d7ff11d4821d78d"
   },
   {
    "at": "2026-10-11T19:32:25.671Z",
    "bankroll_hundredths": 951114,
    "profit_hundredths": -48886,
    "outcome_id": "ish-a31c12d6b9e9a18b6bb726b3"
   },
   {
    "at": "2026-10-11T19:32:26.478Z",
    "bankroll_hundredths": 941114,
    "profit_hundredths": -58886,
    "outcome_id": "ish-68ec923fb04d5a75a262a769"
   },
   {
    "at": "2026-10-11T19:32:26.497Z",
    "bankroll_hundredths": 931114,
    "profit_hundredths": -68886,
    "outcome_id": "ish-20f852a4cd68f1e897771ed8"
   },
   {
    "at": "2026-10-11T19:32:27.409Z",
    "bankroll_hundredths": 937249,
    "profit_hundredths": -62751,
    "outcome_id": "ish-a58fea717a67d1ebe1953220"
   },
   {
    "at": "2026-10-11T21:13:50.368Z",
    "bankroll_hundredths": 942568,
    "profit_hundredths": -57432,
    "outcome_id": "ish-83b8b33a1b2cebf2d6853892"
   },
   {
    "at": "2026-10-11T21:13:50.374Z",
    "bankroll_hundredths": 949563,
    "profit_hundredths": -50437,
    "outcome_id": "ish-228d7667799465a91d0b135d"
   },
   {
    "at": "2026-10-12T21:08:07.183Z",
    "bankroll_hundredths": 939563,
    "profit_hundredths": -60437,
    "outcome_id": "ish-59c4923758072fd8b5f0a240"
   },
   {
    "at": "2026-10-12T21:08:07.189Z",
    "bankroll_hundredths": 929563,
    "profit_hundredths": -70437,
    "outcome_id": "ish-2d13bde41249324142e911ae"
   },
   {
    "at": "2026-10-12T22:06:49.208Z",
    "bankroll_hundredths": 940163,
    "profit_hundredths": -59837,
    "outcome_id": "ish-1b01743d945b4d97df66d3c4"
   },
   {
    "at": "2026-10-12T22:06:49.213Z",
    "bankroll_hundredths": 948037,
    "profit_hundredths": -51963,
    "outcome_id": "ish-b9b349f9b81a7982a1aaf6a2"
   },
   {
    "at": "2026-10-14T02:14:49.052Z",
    "bankroll_hundredths": 938037,
    "profit_hundredths": -61963,
    "outcome_id": "ish-534c5491a4e8c37c3613e392"
   },
   {
    "at": "2026-10-17T16:16:28.155Z",
    "bankroll_hundredths": 928037,
    "profit_hundredths": -71963,
    "outcome_id": "ish-f485f5780f054f881215b869"
   },
   {
    "at": "2026-10-17T16:16:28.159Z",
    "bankroll_hundredths": 918037,
    "profit_hundredths": -81963,
    "outcome_id": "ish-9ab8969a9bf8b1fdb902fdb0"
   },
   {
    "at": "2026-10-17T16:16:28.227Z",
    "bankroll_hundredths": 908037,
    "profit_hundredths": -91963,
    "outcome_id": "ish-ae33f41dc3e23358b3803c8e"
   },
   {
    "at": "2026-10-17T16:23:58.559Z",
    "bankroll_hundredths": 915556,
    "profit_hundredths": -84444,
    "outcome_id": "ish-14575390b983abb301ed5c41"
   },
   {
    "at": "2026-10-17T16:33:09.487Z",
    "bankroll_hundredths": 905556,
    "profit_hundredths": -94444,
    "outcome_id": "ish-ae066ca80dc981b2c1a041d6"
   },
   {
    "at": "2026-10-17T18:12:07.316Z",
    "bankroll_hundredths": 909556,
    "profit_hundredths": -90444,
    "outcome_id": "ish-46b5e2fb45cbb2de622e9bba"
   },
   {
    "at": "2026-10-17T23:36:17.904Z",
    "bankroll_hundredths": 899556,
    "profit_hundredths": -100444,
    "outcome_id": "ish-1f9ec21dd35b27353e59f7d8"
   },
   {
    "at": "2026-10-17T23:36:17.911Z",
    "bankroll_hundredths": 889556,
    "profit_hundredths": -110444,
    "outcome_id": "ish-6bf81f97aaab6c122c5d4557"
   },
   {
    "at": "2026-10-17T23:36:17.922Z",
    "bankroll_hundredths": 896008,
    "profit_hundredths": -103992,
    "outcome_id": "ish-1133c57009c350bf87b7e633"
   },
   {
    "at": "2026-10-18T16:12:52.777Z",
    "bankroll_hundredths": 886008,
    "profit_hundredths": -113992,
    "outcome_id": "ish-6455fde42a7080a02d563b88"
   },
   {
    "at": "2026-10-19T21:09:44.616Z",
    "bankroll_hundredths": 910884,
    "profit_hundredths": -89116,
    "outcome_id": "ish-0a38f8a4f0dc4ae7453724d2"
   },
   {
    "at": "2026-10-19T21:09:44.630Z",
    "bankroll_hundredths": 900884,
    "profit_hundredths": -99116,
    "outcome_id": "ish-f279064aaf15551b3cc49b0b"
   },
   {
    "at": "2026-10-21T21:05:39.660Z",
    "bankroll_hundredths": 883365,
    "profit_hundredths": -116635,
    "outcome_id": "ish-39f5af1af670edd8af4bd110"
   },
   {
    "at": "2026-10-22T12:32:04.216Z",
    "bankroll_hundredths": 873365,
    "profit_hundredths": -126635,
    "outcome_id": "ish-b3b549ba8c1c24023c6efade"
   },
   {
    "at": "2026-10-22T12:52:40.385Z",
    "bankroll_hundredths": 879365,
    "profit_hundredths": -120635,
    "outcome_id": "ish-975ac9545eda310d83de9225"
   },
   {
    "at": "2026-10-23T21:10:03.111Z",
    "bankroll_hundredths": 882506,
    "profit_hundredths": -117494,
    "outcome_id": "ish-510415f1d08940e7e261c679"
   },
   {
    "at": "2026-10-23T21:10:03.125Z",
    "bankroll_hundredths": 872506,
    "profit_hundredths": -127494,
    "outcome_id": "ish-a41d03b94be5630c587daafb"
   },
   {
    "at": "2026-10-23T21:10:03.130Z",
    "bankroll_hundredths": 862506,
    "profit_hundredths": -137494,
    "outcome_id": "ish-f9302df555115129f8a9217c"
   },
   {
    "at": "2026-10-23T22:07:09.873Z",
    "bankroll_hundredths": 868673,
    "profit_hundredths": -131327,
    "outcome_id": "ish-ea66b24eeefafa2efb4fc093"
   },
   {
    "at": "2026-11-06T22:16:47.286Z",
    "bankroll_hundredths": 858673,
    "profit_hundredths": -141327,
    "outcome_id": "ish-e2896b2c38575691371c9574"
   },
   {
    "at": "2026-11-06T22:57:46.506Z",
    "bankroll_hundredths": 848673,
    "profit_hundredths": -151327,
    "outcome_id": "ish-f3af4255b1301230820ae8fb"
   },
   {
    "at": "2026-11-06T22:57:47.184Z",
    "bankroll_hundredths": 838673,
    "profit_hundredths": -161327,
    "outcome_id": "ish-603793641be823cb990f5fd0"
   },
   {
    "at": "2026-11-06T22:57:47.211Z",
    "bankroll_hundredths": 849673,
    "profit_hundredths": -150327,
    "outcome_id": "ish-3aef6f871146a6bb36211971"
   },
   {
    "at": "2026-11-06T22:57:47.218Z",
    "bankroll_hundredths": 858445,
    "profit_hundredths": -141555,
    "outcome_id": "ish-3459128a6286e2fc8fb7b895"
   },
   {
    "at": "2026-11-06T23:43:43.111Z",
    "bankroll_hundredths": 865438,
    "profit_hundredths": -134562,
    "outcome_id": "ish-5ce93c568c07f2a13491c92b"
   },
   {
    "at": "2026-11-06T23:43:43.118Z",
    "bankroll_hundredths": 855438,
    "profit_hundredths": -144562,
    "outcome_id": "ish-76688ca8459c57f2858320ef"
   },
   {
    "at": "2026-11-06T23:56:38.750Z",
    "bankroll_hundredths": 865938,
    "profit_hundredths": -134062,
    "outcome_id": "ish-f2c68a25649d49959cb3be93"
   },
   {
    "at": "2026-11-07T00:30:26.783Z",
    "bankroll_hundredths": 879138,
    "profit_hundredths": -120862,
    "outcome_id": "ish-b65accef5308554e522502d2"
   },
   {
    "at": "2026-11-07T00:38:18.970Z",
    "bankroll_hundredths": 883683,
    "profit_hundredths": -116317,
    "outcome_id": "ish-5ef8f75e7ab1ae93f9941fd8"
   },
   {
    "at": "2026-11-07T01:16:17.183Z",
    "bankroll_hundredths": 897083,
    "profit_hundredths": -102917,
    "outcome_id": "ish-5561dbb99ac7ce2f58cbdfa8"
   },
   {
    "at": "2026-11-07T01:16:17.191Z",
    "bankroll_hundredths": 887083,
    "profit_hundredths": -112917,
    "outcome_id": "ish-f586ec9fc7bb0f4e2d7893b7"
   },
   {
    "at": "2026-11-07T01:38:16.481Z",
    "bankroll_hundredths": 899583,
    "profit_hundredths": -100417,
    "outcome_id": "ish-4266ed45c17a7a5663787c41"
   },
   {
    "at": "2026-11-07T01:38:16.502Z",
    "bankroll_hundredths": 908842,
    "profit_hundredths": -91158,
    "outcome_id": "ish-811ef2701e365a483d339e78"
   },
   {
    "at": "2026-11-07T07:47:44.566Z",
    "bankroll_hundredths": 898842,
    "profit_hundredths": -101158,
    "outcome_id": "ish-aa9bd89be1e032768252209f"
   },
   {
    "at": "2026-11-07T10:28:39.861Z",
    "bankroll_hundredths": 904492,
    "profit_hundredths": -95508,
    "outcome_id": "ish-649ccaf7b2ec14d3b895f877"
   },
   {
    "at": "2026-11-07T10:28:39.881Z",
    "bankroll_hundredths": 911295,
    "profit_hundredths": -88705,
    "outcome_id": "ish-5c5f626cdff9c8fa6f1f41a5"
   }
  ],
  "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": 479,
  "recognised": 154,
  "accepted": 101,
  "executed": 50,
  "calculated": 50,
  "gaps": [
   {
    "cause": "not_supported",
    "figure": 38
   },
   {
    "cause": "not_checked",
    "figure": 38
   },
   {
    "cause": "other reading",
    "figure": 15
   },
   {
    "cause": "disputed_reading",
    "figure": 8
   },
   {
    "cause": "no_price_at_capture",
    "figure": 5
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 479,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 5,
   "not_about_a_match": 320,
   "unclassified": 0
  },
  "predictions": 154,
  "predictions_restored": 0,
  "matches": 37,
  "admitted": 101,
  "qualifying_picks": 50,
  "qualifying_picks_restored": 0,
  "settled_picks": 50,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 50,
    "settled_picks": 50,
    "void": 0,
    "pending_picks": 0,
    "matches": 24,
    "operations_settled": 50,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   }
  ],
  "gaps": [
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 38
   },
   {
    "code_name": "not_checked",
    "cause": "not_checked",
    "figure": 38
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 15
   },
   {
    "code_name": "disputed_reading",
    "cause": "disputed_reading",
    "figure": 8
   },
   {
    "code_name": "no_price_at_capture",
    "cause": "no_price_at_capture",
    "figure": 5
   }
  ],
  "duplicates": 0,
  "junk": {
   "ads": 16
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-e1f5058952a89d0352722aae",
   "url": "/evidence/?pick=n-e1f5058952a89d0352722aae",
   "quote_text": "Comparez ci-dessous les cotes pour Fiorentina contre Juventus, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 426,
   "fragment_to": 547,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/fiorentina-vs-juventus-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "5891d7dda0b4e7da016529cdee6043d20dff90a80a9695ddf18f7c45b4774b30",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:28:49.000Z",
   "detected_at": "2026-11-07T19:03:12.575Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:28:49.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:28:49.000Z",
    "detected_at": "2026-11-07T19:03:12.575Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5ad96dd9184a2e3762d25616",
   "url": "/evidence/?pick=n-5ad96dd9184a2e3762d25616",
   "quote_text": "Comparez ci-dessous les cotes pour Villarreal contre Getafe, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 422,
   "fragment_to": 541,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/villarreal-vs-getafe-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "6f0e4e767a8d462acec9464763cedd99ab0d26561d23023476caaecbdcb58e7a",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:29:26.000Z",
   "detected_at": "2026-11-07T17:29:48.575Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:29:26.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:29:26.000Z",
    "detected_at": "2026-11-07T17:29:48.575Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f0b2c174bc9834a8a1ae34d7",
   "url": "/evidence/?pick=n-f0b2c174bc9834a8a1ae34d7",
   "quote_text": "Comparez ci-dessous les cotes pour Bayer Leverkusen contre Paderborn, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 440,
   "fragment_to": 568,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayer-leverkusen-vs-paderborn-2026-11-21/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "5158a5748a5f64d94ef2df2cf6927ea08b15a53c375b8731eaafb0e6f50529e3",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:28:10.000Z",
   "detected_at": "2026-11-07T17:10:03.933Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:28:10.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:28:10.000Z",
    "detected_at": "2026-11-07T17:10:03.933Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c83606de3716c4038997882e",
   "url": "/evidence/?pick=n-c83606de3716c4038997882e",
   "quote_text": "Comparez ci-dessous les cotes pour Manchester United contre Aston Villa, mises à jour régulièrement",
   "fragment_from": 446,
   "fragment_to": 545,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/manchester-united-vs-aston-villa-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "a2d6c6b18064e244593f220fd016a3928c9d8b9df698ae9456b00d31268efbcc",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:06.000Z",
   "detected_at": "2026-11-07T17:10:01.919Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:06.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:06.000Z",
    "detected_at": "2026-11-07T17:10:01.919Z",
    "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-99adbad603c7478d79e890eb",
   "url": "/evidence/?pick=n-99adbad603c7478d79e890eb",
   "quote_text": "Comparez ci-dessous les cotes pour Sunderland contre Chelsea, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 424,
   "fragment_to": 544,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/sunderland-vs-chelsea-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "6dd08082278e03360cfd3959c42544a7e64e293bda84b1fe77ab23fbabcfadef",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:09.000Z",
   "detected_at": "2026-11-07T17:10:00.479Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:09.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:09.000Z",
    "detected_at": "2026-11-07T17:10:00.479Z",
    "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-3d55a00a5cafa2a03bd749fe",
   "url": "/evidence/?pick=n-3d55a00a5cafa2a03bd749fe",
   "quote_text": "Comparez ci-dessous les cotes pour Bayern Munich contre FC Köln, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 432,
   "fragment_to": 555,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayern-munich-vs-fc-koln-2026-11-20/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "9b4fa1046cce83b6a87fa339dae1cdc5a0e502a91689accdc22d4fb3cb55dc62",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:28:11.000Z",
   "detected_at": "2026-11-07T16:40:21.894Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:28:11.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:28:11.000Z",
    "detected_at": "2026-11-07T16:40:21.894Z",
    "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-f42eb1387f45527acc0ca279",
   "url": "/evidence/?pick=n-f42eb1387f45527acc0ca279",
   "quote_text": "Les cotes sont susceptibles d'évoluer.",
   "fragment_from": 305,
   "fragment_to": 343,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/tsg-hoffenheim-vs-schalke-04-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "4a59fd40a0f87d9156361f39d51d6c4011a3cac86ea1ca512c41889c77af62bb",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:52.000Z",
   "detected_at": "2026-11-07T16:40:20.577Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:52.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:52.000Z",
    "detected_at": "2026-11-07T16:40:20.577Z",
    "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-b44c35ed427d3416455542ed",
   "url": "/evidence/?pick=n-b44c35ed427d3416455542ed",
   "quote_text": "Comparez ci-dessous les cotes pour TSG Hoffenheim contre Schalke 04, mises à jour régulièrement",
   "fragment_from": 438,
   "fragment_to": 533,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/tsg-hoffenheim-vs-schalke-04-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "4a59fd40a0f87d9156361f39d51d6c4011a3cac86ea1ca512c41889c77af62bb",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:52.000Z",
   "detected_at": "2026-11-07T16:40:20.577Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:52.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:52.000Z",
    "detected_at": "2026-11-07T16:40:20.577Z",
    "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-4e7dcd88d5623bdd45d63ed0",
   "url": "/evidence/?pick=n-4e7dcd88d5623bdd45d63ed0",
   "quote_text": "Comparez ci-dessous les cotes pour Inter contre Como, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 408,
   "fragment_to": 520,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/inter-vs-como-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2c622e98998985627ed05098bda228dbd43887369cd95795a8078f96193a1adb",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:28:50.000Z",
   "detected_at": "2026-11-07T16:29:51.168Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:28:50.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:28:50.000Z",
    "detected_at": "2026-11-07T16:29:51.168Z",
    "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-0a2cffc651ec87b01f3b6b6f",
   "url": "/evidence/?pick=n-0a2cffc651ec87b01f3b6b6f",
   "quote_text": "Comparez ci-dessous les cotes pour Monza contre Atalanta, mises à jour régulièrement",
   "fragment_from": 416,
   "fragment_to": 500,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/monza-vs-atalanta-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "a66e4209860fb6ac3783da1979841b186e0d4d1b159e4fde0219e6f5a8b27ac9",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:28:52.000Z",
   "detected_at": "2026-11-07T16:09:43.161Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:28:52.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:28:52.000Z",
    "detected_at": "2026-11-07T16:09:43.161Z",
    "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-677af23b457d1c8534a130a1",
   "url": "/evidence/?pick=n-677af23b457d1c8534a130a1",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Celta Vigo vs Levante chez les bookmakers que nous suivons.",
   "fragment_from": 670,
   "fragment_to": 796,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/celta-vigo-vs-levante-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "843b0ad529e9be644a33b70d7388e3de299b817d970c7f199fe4d694614b3023",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:29:27.000Z",
   "detected_at": "2026-11-07T15:17:30.482Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:29:27.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:29:27.000Z",
    "detected_at": "2026-11-07T15:17:30.482Z",
    "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-201f3db721c7b8863f3884ba",
   "url": "/evidence/?pick=n-201f3db721c7b8863f3884ba",
   "quote_text": "Comparez ci-dessous les cotes pour Ipswich contre Bournemouth, mises à jour régulièrement",
   "fragment_from": 426,
   "fragment_to": 515,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/ipswich-vs-bournemouth-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "97a4fb475abeafc0187b056e486a413afae0642175c320fd0c47a8ce99e68c1e",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:08.000Z",
   "detected_at": "2026-11-07T14:41:47.722Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:08.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:08.000Z",
    "detected_at": "2026-11-07T14:41:47.722Z",
    "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-d76efd29e9669343913cec67",
   "url": "/evidence/?pick=n-d76efd29e9669343913cec67",
   "quote_text": "Comparez ci-dessous les cotes pour Genoa contre AC Milan, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 416,
   "fragment_to": 532,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/genoa-vs-ac-milan-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "a238c414306fb4dbed6f2647e1f01553de01d50326386f93a217ab54c8be8ed8",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:28:54.000Z",
   "detected_at": "2026-11-06T22:29:42.660Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:28:54.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:28:54.000Z",
    "detected_at": "2026-11-06T22:29:42.660Z",
    "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-efc718d6d7499f373c12057e",
   "url": "/evidence/?pick=n-efc718d6d7499f373c12057e",
   "quote_text": "Comparez ci-dessous les cotes pour Real Sociedad contre Rayo Vallecano, mises à jour régulièrement",
   "fragment_from": 444,
   "fragment_to": 542,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-sociedad-vs-rayo-vallecano-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "4125324823ab0f15325419ca660d9fcb85ac7c7e104766e0248dcdc8a8d40bed",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:29:28.000Z",
   "detected_at": "2026-11-06T22:09:50.684Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:29:28.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:29:28.000Z",
    "detected_at": "2026-11-06T22:09:50.684Z",
    "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-66b190b42eede0f4a36d2fcb",
   "url": "/evidence/?pick=n-66b190b42eede0f4a36d2fcb",
   "quote_text": "Comparez ci-dessous les cotes pour Crystal Palace contre Liverpool, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 436,
   "fragment_to": 562,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/crystal-palace-vs-liverpool-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "1835d5f639104bc8de29e907709abbadc6eeb10a9060613b634c3ac0e1122671",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:07.000Z",
   "detected_at": "2026-11-06T22:09:45.673Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:07.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:07.000Z",
    "detected_at": "2026-11-06T22:09:45.673Z",
    "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-756a1760e49d8298a90989a8",
   "url": "/evidence/?pick=n-756a1760e49d8298a90989a8",
   "quote_text": "Comparez ci-dessous les cotes pour Le Havre contre Lorient, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 420,
   "fragment_to": 538,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/le-havre-vs-lorient-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "83a12d1ad8f27be8f3708699b95ee150367dec58809f80c54f1d07c05507674a",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:11.000Z",
   "detected_at": "2026-11-06T22:09:44.368Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:11.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:11.000Z",
    "detected_at": "2026-11-06T22:09:44.368Z",
    "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-8d62d1bbd18f3e2f4774c75f",
   "url": "/evidence/?pick=n-8d62d1bbd18f3e2f4774c75f",
   "quote_text": "Comparez ci-dessous les cotes pour FC Köln contre Bayer Leverkusen, mises à jour régulièrement",
   "fragment_from": 436,
   "fragment_to": 530,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/fc-koln-vs-bayer-leverkusen-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "b7db1478c5a43a9fc286959e7f4f9cd134e253ebc9d99db9224983fb0aeacab7",
    "material_removed": false
   },
   "published_at": "2026-11-03T14:30:58.000Z",
   "detected_at": "2026-11-06T21:39:52.628Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T14:30:58.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-03T14:30:58.000Z",
    "detected_at": "2026-11-06T21:39:52.628Z",
    "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-613dded5fbf255198dfafeb0",
   "url": "/evidence/?pick=n-613dded5fbf255198dfafeb0",
   "quote_text": "Comparez ci-dessous les cotes pour Slavia Praha contre Villarreal, mises à jour régulièrement",
   "fragment_from": 436,
   "fragment_to": 529,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/slavia-praha-vs-villarreal-2026-11-25/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "94d690799016a6c8783cf604f1381fcf3277e4a4354f003cd9e070db061148da",
    "material_removed": false
   },
   "published_at": "2026-11-04T22:26:08.000Z",
   "detected_at": "2026-11-04T23:29:38.600Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T22:26:08.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-04T22:26:08.000Z",
    "detected_at": "2026-11-04T23:29:38.600Z",
    "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-2ad97e40f8020e9c6d0d11d1",
   "url": "/evidence/?pick=n-2ad97e40f8020e9c6d0d11d1",
   "quote_text": "Comparez ci-dessous les cotes pour Real Madrid contre PSV, mises à jour régulièrement",
   "fragment_from": 417,
   "fragment_to": 502,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/real-madrid-vs-psv-2026-11-24/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "91132233c3edb9fc681ffe0f1e63a363fdd64de078497ea755e274add0941aa2",
    "material_removed": false
   },
   "published_at": "2026-11-04T22:26:07.000Z",
   "detected_at": "2026-11-04T22:39:42.323Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T22:26:07.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-04T22:26:07.000Z",
    "detected_at": "2026-11-04T22:39:42.323Z",
    "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-905b5fa73bb5b49a24720d85",
   "url": "/evidence/?pick=n-905b5fa73bb5b49a24720d85",
   "quote_text": "Comparez ci-dessous les cotes pour Manchester City contre Napoli, mises à jour régulièrement",
   "fragment_from": 431,
   "fragment_to": 523,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/manchester-city-vs-napoli-2026-11-24/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "03536b05a46e37fbf57f6c447e07464296d0a1b2668a4041934706e532bb8f7c",
    "material_removed": false
   },
   "published_at": "2026-11-04T22:26:06.000Z",
   "detected_at": "2026-11-04T22:39:40.391Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T22:26:06.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-04T22:26:06.000Z",
    "detected_at": "2026-11-04T22:39:40.391Z",
    "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-356eab59595198c1cfb225ea",
   "url": "/evidence/?pick=n-356eab59595198c1cfb225ea",
   "quote_text": "Comparez ci-dessous les cotes pour Arsenal contre Borussia Dortmund, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 437,
   "fragment_to": 564,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/arsenal-vs-borussia-dortmund-2026-11-24/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "f73d428733e2100d00ecaed22309c541bff3f9cf0e4dac5840c4bf2eab2e817f",
    "material_removed": false
   },
   "published_at": "2026-11-04T22:26:05.000Z",
   "detected_at": "2026-11-04T22:39:38.544Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T22:26:05.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-04T22:26:05.000Z",
    "detected_at": "2026-11-04T22:39:38.544Z",
    "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-2b9781ac90046e1d3c396557",
   "url": "/evidence/?pick=n-2b9781ac90046e1d3c396557",
   "quote_text": "Comparez ci-dessous les cotes pour Napoli contre Lazio, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 412,
   "fragment_to": 526,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/napoli-vs-lazio-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "cb853d2024362e4d7fc9aa2c580dfec3edd48e5ba0459f31cf4ba4ae219a0e10",
    "material_removed": false
   },
   "published_at": "2026-11-02T14:49:59.000Z",
   "detected_at": "2026-11-02T22:29:36.398Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T14:49:59.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-02T14:49:59.000Z",
    "detected_at": "2026-11-02T22:29:36.398Z",
    "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-63e9fe59a7489c73db348931",
   "url": "/evidence/?pick=n-63e9fe59a7489c73db348931",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Elche vs Real Betis",
   "fragment_from": 660,
   "fragment_to": 746,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/elche-vs-real-betis-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "42520b8ab79e6013732c8f3b80a6acd86c99f1f89dbf7dde92ea79288a669acb",
    "material_removed": false
   },
   "published_at": "2026-11-02T14:50:33.000Z",
   "detected_at": "2026-11-02T22:09:48.474Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T14:50:33.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-02T14:50:33.000Z",
    "detected_at": "2026-11-02T22:09:48.474Z",
    "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-a75b9aacb4852e8ae0f355ec",
   "url": "/evidence/?pick=n-a75b9aacb4852e8ae0f355ec",
   "quote_text": "Comparez ci-dessous les cotes pour Brighton contre Brentford, mises à jour régulièrement",
   "fragment_from": 424,
   "fragment_to": 512,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/brighton-vs-brentford-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "7c4f257afc031dc132fcb9370cd172136e6a6558f097e1589c888816fb578328",
    "material_removed": false
   },
   "published_at": "2026-11-02T14:50:35.000Z",
   "detected_at": "2026-11-02T22:09:47.010Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T14:50:35.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-02T14:50:35.000Z",
    "detected_at": "2026-11-02T22:09:47.010Z",
    "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-d01dbbebaa4177a8643bad62",
   "url": "/evidence/?pick=n-d01dbbebaa4177a8643bad62",
   "quote_text": "Comparez ci-dessous les cotes pour Brest contre Lyon, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 408,
   "fragment_to": 520,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/brest-vs-lyon-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "bd1c62c7c87cac5da4ba52261509037df0d2c41853fbfb0fafcac6d735f09015",
    "material_removed": false
   },
   "published_at": "2026-11-02T14:51:21.000Z",
   "detected_at": "2026-11-02T22:09:45.263Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T14:51:21.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-02T14:51:21.000Z",
    "detected_at": "2026-11-02T22:09:45.263Z",
    "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-a411c895f4d05be6fe0f5a3b",
   "url": "/evidence/?pick=n-a411c895f4d05be6fe0f5a3b",
   "quote_text": "Comparez ci-dessous les cotes pour Parma contre Bologna, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 380,
   "fragment_to": 495,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/parma-vs-bologna-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "71a81dbd2aa52920349e80e71d60d8c6b80f2de2799f661b57217811f51d8816",
    "material_removed": false
   },
   "published_at": "2026-10-30T19:21:54.000Z",
   "detected_at": "2026-11-01T22:10:08.314Z",
   "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-30T19:21:54.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T19:21:54.000Z",
    "detected_at": "2026-11-01T22:10:08.314Z",
    "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-2b32895ce84b89eb255886e3",
   "url": "/evidence/?pick=n-2b32895ce84b89eb255886e3",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Valencia vs Real Madrid chez les bookmakers que nous suivons.",
   "fragment_from": 646,
   "fragment_to": 774,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/valencia-vs-real-madrid-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "b9cb74741c8961d0873d323f4e51b757428b972f5f17f796f222f9013c751ec8",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:28:28.000Z",
   "detected_at": "2026-11-01T22:10:06.748Z",
   "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-30T15:28:28.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:28:28.000Z",
    "detected_at": "2026-11-01T22:10:06.748Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a51fc96e01177578344e7d09",
   "url": "/evidence/?pick=n-a51fc96e01177578344e7d09",
   "quote_text": "Comparez ci-dessous les cotes pour Angers contre Nice, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 378,
   "fragment_to": 491,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/angers-vs-nice-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "8648dbaa3a65deb872527a7e51f1d5edc02e1a452795e3c9a85fd1eb25c2d225",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:43:24.000Z",
   "detected_at": "2026-11-01T22:10:03.668Z",
   "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-30T15:43:24.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:43:24.000Z",
    "detected_at": "2026-11-01T22:10:03.668Z",
    "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-0688177374962bf6b4283937",
   "url": "/evidence/?pick=n-0688177374962bf6b4283937",
   "quote_text": "Comparez ci-dessous les cotes pour Torino contre Lecce, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 378,
   "fragment_to": 492,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/torino-vs-lecce-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "824b118536fd9a6d966c06af040728f8c3304e64e825eab49eb7a44cf1682bd9",
    "material_removed": false
   },
   "published_at": "2026-10-30T19:21:58.000Z",
   "detected_at": "2026-11-01T19:11:36.997Z",
   "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-30T19:21:58.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T19:21:58.000Z",
    "detected_at": "2026-11-01T19:11:36.997Z",
    "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-faee6e9be3a8f161faf47bf9",
   "url": "/evidence/?pick=n-faee6e9be3a8f161faf47bf9",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour VfB Stuttgart vs Werder Bremen",
   "fragment_from": 684,
   "fragment_to": 781,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/vfb-stuttgart-vs-werder-bremen-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "025903d6f292cb196fe508948522fd1d2f5742d841d1def1a4745cd53e7c3e3d",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:26:27.000Z",
   "detected_at": "2026-11-01T19:11:34.774Z",
   "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-30T16:26:27.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:26:27.000Z",
    "detected_at": "2026-11-01T19:11:34.774Z",
    "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-c32a8e9130d11ccfbaed4480",
   "url": "/evidence/?pick=n-c32a8e9130d11ccfbaed4480",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Nottingham Forest vs Manchester City chez les bookmakers que nous suivons.",
   "fragment_from": 718,
   "fragment_to": 859,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/nottingham-forest-vs-manchester-city-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "e060c10be91e658f14eda4202cc64ca89fbc9f1e6f045e99c1b39e173dfb8b25",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:27:32.000Z",
   "detected_at": "2026-11-01T19:11:33.523Z",
   "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-30T15:27:32.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:27:32.000Z",
    "detected_at": "2026-11-01T19:11:33.523Z",
    "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-0e746e0fe5214ec921213ecf",
   "url": "/evidence/?pick=n-0e746e0fe5214ec921213ecf",
   "quote_text": "Comparez ci-dessous les cotes pour Rennes contre Lille, mises à jour régulièrement chez des opérateurs",
   "fragment_from": 380,
   "fragment_to": 482,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-lille-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "a8ca05476d313c791db52d4a5ac33d39a086d4759ebc72e66675079f6238ed86",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:30:14.000Z",
   "detected_at": "2026-11-01T18:30:42.607Z",
   "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-30T16:30:14.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:30:14.000Z",
    "detected_at": "2026-11-01T18:30:42.607Z",
    "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-9059a01c409c7a41896fba4f",
   "url": "/evidence/?pick=n-9059a01c409c7a41896fba4f",
   "quote_text": "Les cotes sont susceptibles d'évoluer. Nous percevons une commission de la part des sites de paris",
   "fragment_from": 198,
   "fragment_to": 296,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-lille-2026-11-08/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "a8ca05476d313c791db52d4a5ac33d39a086d4759ebc72e66675079f6238ed86",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:30:14.000Z",
   "detected_at": "2026-11-01T18:30:42.607Z",
   "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-30T16:30:14.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:30:14.000Z",
    "detected_at": "2026-11-01T18:30:42.607Z",
    "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-4adbb161256801529ff675a5",
   "url": "/evidence/?pick=n-4adbb161256801529ff675a5",
   "quote_text": "Comparez ci-dessous les cotes pour PSG contre Troyes, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 374,
   "fragment_to": 486,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/psg-vs-troyes-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "60fff756fabd17d032b3c4ba588f0b27203b5b552859d0e3a1e58b482dbdd898",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:49:40.000Z",
   "detected_at": "2026-11-01T18:30:40.530Z",
   "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-30T15:49:40.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:49:40.000Z",
    "detected_at": "2026-11-01T18:30:40.530Z",
    "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-e097ea0a54e8848e721a2762",
   "url": "/evidence/?pick=n-e097ea0a54e8848e721a2762",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Espanyol vs Deportivo La Coruna chez les bookmakers que nous suivons.",
   "fragment_from": 686,
   "fragment_to": 822,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/espanyol-vs-deportivo-la-coruna-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "4f90b59c95cae77e22822d7d0fc5b1549f57038c0d55dbe8388fd002a1d77b54",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:30:11.000Z",
   "detected_at": "2026-11-01T17:29:35.170Z",
   "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-30T16:30:11.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:30:11.000Z",
    "detected_at": "2026-11-01T17:29:35.170Z",
    "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-50e296027a1610b3aeafc4ec",
   "url": "/evidence/?pick=n-50e296027a1610b3aeafc4ec",
   "quote_text": "Comparez ci-dessous les cotes pour RB Leipzig contre Augsburg, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 392,
   "fragment_to": 513,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/rb-leipzig-vs-augsburg-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "6541b7c3024873119f28b6984c138df4213d75840d86c14a179a55dd91743d52",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:31:09.000Z",
   "detected_at": "2026-11-01T16:39:55.644Z",
   "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-30T16:31:09.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:31:09.000Z",
    "detected_at": "2026-11-01T16:39:55.644Z",
    "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-4bab7315f1b34baef83e8208",
   "url": "/evidence/?pick=n-4bab7315f1b34baef83e8208",
   "quote_text": "Comparez ci-dessous les cotes pour Cagliari contre Frosinone, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 390,
   "fragment_to": 510,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/cagliari-vs-frosinone-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "8b880d3e2b879ac9476bd294ad5e3c3e7aecbaa2c3646aac26aac209437bd902",
    "material_removed": false
   },
   "published_at": "2026-10-30T19:21:56.000Z",
   "detected_at": "2026-11-01T16:10:58.512Z",
   "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-30T19:21:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T19:21:56.000Z",
    "detected_at": "2026-11-01T16:10:58.512Z",
    "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-77da1769d658f83cece41fd4",
   "url": "/evidence/?pick=n-77da1769d658f83cece41fd4",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Malaga vs Racing Santander chez les bookmakers que nous suivons.",
   "fragment_from": 661,
   "fragment_to": 792,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/malaga-vs-racing-santander-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "ffcc4197e9272f09b10bad4ee21e0c59aae3f4b8ea0bc337c55927d3138bc5be",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:28:35.000Z",
   "detected_at": "2026-11-01T15:10:35.972Z",
   "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-30T15:28:35.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:28:35.000Z",
    "detected_at": "2026-11-01T15:10:35.972Z",
    "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-206b7d8b558b474edfa71577",
   "url": "/evidence/?pick=n-206b7d8b558b474edfa71577",
   "quote_text": "Comparez ci-dessous les cotes pour Atalanta contre Parma, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 381,
   "fragment_to": 497,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/atalanta-vs-parma-2026-11-02/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "f6fef760c3cf21ab4fecf1c92ec101fcc7958a30ba98cd55d7362d0440f9c9fe",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:21:42.000Z",
   "detected_at": "2026-11-01T14:09:59.752Z",
   "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-30T16:21:42.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:21:42.000Z",
    "detected_at": "2026-11-01T14:09:59.752Z",
    "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-8f47c00df7650ff0ac14313f",
   "url": "/evidence/?pick=n-8f47c00df7650ff0ac14313f",
   "quote_text": "Comparez ci-dessous les cotes pour Sassuolo contre Fiorentina, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 391,
   "fragment_to": 512,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/sassuolo-vs-fiorentina-2026-11-02/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "7ce5a697121a048a5f394209c573af3e84de07f09d910218f8206d3437bb0519",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:26:36.000Z",
   "detected_at": "2026-10-31T22:29:39.759Z",
   "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-30T15:26:36.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:26:36.000Z",
    "detected_at": "2026-10-31T22:29:39.759Z",
    "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-f1e110b3f4010fa0a04b2600",
   "url": "/evidence/?pick=n-f1e110b3f4010fa0a04b2600",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Sevilla vs Deportivo Alaves",
   "fragment_from": 668,
   "fragment_to": 762,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/sevilla-vs-deportivo-alaves-2026-11-06/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "ffb6f2637e69ea4579d7aeb35575b1081111f6dfb55046012091f280c9b02210",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:27:02.000Z",
   "detected_at": "2026-10-31T22:29:38.849Z",
   "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-30T16:27:02.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:27:02.000Z",
    "detected_at": "2026-10-31T22:29:38.849Z",
    "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-c10041455ac0d254710e11f1",
   "url": "/evidence/?pick=n-c10041455ac0d254710e11f1",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Fulham vs Newcastle",
   "fragment_from": 633,
   "fragment_to": 719,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/fulham-vs-newcastle-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2a09834f6f46729d3194099939e2d67eb3aad5df7871e71da65c0b96eed901af",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:26:26.000Z",
   "detected_at": "2026-10-31T22:29:36.829Z",
   "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-30T16:26:26.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:26:26.000Z",
    "detected_at": "2026-10-31T22:29:36.829Z",
    "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-d5237f1cb73a5dbc2631b809",
   "url": "/evidence/?pick=n-d5237f1cb73a5dbc2631b809",
   "quote_text": "Comparez ci-dessous les cotes pour Toulouse contre Strasbourg, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 394,
   "fragment_to": 515,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/toulouse-vs-strasbourg-2026-11-06/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "c18fbe2f82e92ecdeb29e96fe487746f1f5fc9f8d92908f85accca3c448d87f6",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:28:19.000Z",
   "detected_at": "2026-10-31T22:10:14.622Z",
   "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-30T16:28:19.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:28:19.000Z",
    "detected_at": "2026-10-31T22:10:14.622Z",
    "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-3b429b077bbef0755ca39479",
   "url": "/evidence/?pick=n-3b429b077bbef0755ca39479",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Lorient vs Brest chez les bookmakers que nous suivons.",
   "fragment_from": 610,
   "fragment_to": 731,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lorient-vs-brest-2026-11-02/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "50b9208c498d6802120b41bcffacd9cbb04bf337906ac4ba2cfc7d8e0b58208e",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:27:45.000Z",
   "detected_at": "2026-10-31T22:10:12.503Z",
   "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-30T15:27:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:27:45.000Z",
    "detected_at": "2026-10-31T22:10:12.503Z",
    "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-65a5035ff449ca4fba229947",
   "url": "/evidence/?pick=n-65a5035ff449ca4fba229947",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Marseille vs Toulouse chez les bookmakers que nous suivons.",
   "fragment_from": 638,
   "fragment_to": 764,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/marseille-vs-toulouse-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "c170a0870495b4558fe1234197b4b9c455fd5665ab0d37570a9a11aa8a086855",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:27:52.000Z",
   "detected_at": "2026-10-31T22:10:08.041Z",
   "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-30T16:27:52.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:27:52.000Z",
    "detected_at": "2026-10-31T22:10:08.041Z",
    "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-365ad73c54fb2cfd9e47d742",
   "url": "/evidence/?pick=n-365ad73c54fb2cfd9e47d742",
   "quote_text": "Comparez ci-dessous les cotes pour Paderborn contre Eintracht Frankfurt, mises à jour régulièrement",
   "fragment_from": 412,
   "fragment_to": 511,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/paderborn-vs-eintracht-frankfurt-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "3345527c294fe2cf98bcef805f25ca53e1b51a62c6ede5cc392aeb6342b7927a",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:30:32.000Z",
   "detected_at": "2026-10-31T20:10:56.320Z",
   "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-30T16:30:32.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:30:32.000Z",
    "detected_at": "2026-10-31T20:10:56.320Z",
    "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-78c78b1ac319c610e10526dd",
   "url": "/evidence/?pick=n-78c78b1ac319c610e10526dd",
   "quote_text": "Comparez ci-dessous les cotes pour Deportivo La Coruna contre Osasuna, mises à jour régulièrement",
   "fragment_from": 407,
   "fragment_to": 504,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-la-coruna-vs-osasuna-2026-11-02/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "6da49b709db3fd5fd1c3e57ea53cf22c2753bf6dc4f9080123bfb29672491833",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:29:03.000Z",
   "detected_at": "2026-10-31T20:10:54.460Z",
   "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-30T16:29:03.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:29:03.000Z",
    "detected_at": "2026-10-31T20:10:54.460Z",
    "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-425c0723343a4f9be874be9a",
   "url": "/evidence/?pick=n-425c0723343a4f9be874be9a",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Juventus vs Napoli",
   "fragment_from": 623,
   "fragment_to": 708,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/juventus-vs-napoli-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2ffb6aa4992a992c20fb5b7dc73c85ca579b9c0d235f605785c55bf452358099",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:27:24.000Z",
   "detected_at": "2026-10-31T19:31:15.448Z",
   "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-30T16:27:24.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:27:24.000Z",
    "detected_at": "2026-10-31T19:31:15.448Z",
    "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-bd9a3aa40ded6a984c534878",
   "url": "/evidence/?pick=n-bd9a3aa40ded6a984c534878",
   "quote_text": "Ce contenu a été rédigé en collaboration avec les experts shopping Ouest-France. Les cotes sont susceptibles d'évoluer.",
   "fragment_from": 120,
   "fragment_to": 239,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/paris-fc-vs-monaco-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "ef88c89de98a08a23ec6fdbc0fe29ceb6c870913fb43df340edd2736e9ce2d95",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:28:36.000Z",
   "detected_at": "2026-10-31T18:30:01.113Z",
   "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-30T16:28:36.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:28:36.000Z",
    "detected_at": "2026-10-31T18:30:01.113Z",
    "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-b50e3031a6d98f4304ded448",
   "url": "/evidence/?pick=n-b50e3031a6d98f4304ded448",
   "quote_text": "Comparez ci-dessous les cotes pour Paris FC contre Monaco, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 386,
   "fragment_to": 503,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/paris-fc-vs-monaco-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "ef88c89de98a08a23ec6fdbc0fe29ceb6c870913fb43df340edd2736e9ce2d95",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:28:36.000Z",
   "detected_at": "2026-10-31T18:30:01.113Z",
   "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-30T16:28:36.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:28:36.000Z",
    "detected_at": "2026-10-31T18:30:01.113Z",
    "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-561551cf0eafbcdc1b5cfe67",
   "url": "/evidence/?pick=n-561551cf0eafbcdc1b5cfe67",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Eintracht Frankfurt vs Hamburg",
   "fragment_from": 686,
   "fragment_to": 783,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-hamburg-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "d09638ea3ace4d74ffd7e49cd7651dd7cc923556f0774901aeef8f31557a9e34",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:26:36.000Z",
   "detected_at": "2026-10-31T17:42:25.601Z",
   "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-30T15:26:36.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:26:36.000Z",
    "detected_at": "2026-10-31T17:42:25.601Z",
    "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-da40abf7395dae33261ae3c4",
   "url": "/evidence/?pick=n-da40abf7395dae33261ae3c4",
   "quote_text": "Les cotes sont susceptibles d'évoluer. Nous percevons une commission de la part des sites",
   "fragment_from": 213,
   "fragment_to": 302,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-hamburg-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "d09638ea3ace4d74ffd7e49cd7651dd7cc923556f0774901aeef8f31557a9e34",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:26:36.000Z",
   "detected_at": "2026-10-31T17:42:25.601Z",
   "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-30T15:26:36.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:26:36.000Z",
    "detected_at": "2026-10-31T17:42:25.601Z",
    "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-e9da71557f0b181455aa792b",
   "url": "/evidence/?pick=n-e9da71557f0b181455aa792b",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Union Berlin vs FC Köln chez les bookmakers que nous suivons.",
   "fragment_from": 651,
   "fragment_to": 779,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/union-berlin-vs-fc-koln-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "4d69e6652e529752df9b976029cb1a99e5fd8b18b4d411366dc3dae6825d5542",
    "material_removed": false
   },
   "published_at": "2026-10-30T17:41:58.000Z",
   "detected_at": "2026-10-31T17:42:11.874Z",
   "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-30T17:41:58.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T17:41:58.000Z",
    "detected_at": "2026-10-31T17:42:11.874Z",
    "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-7fcdee53ac689ba2623f9d37",
   "url": "/evidence/?pick=n-7fcdee53ac689ba2623f9d37",
   "quote_text": "Comparez ci-dessous les cotes pour Athletic Bilbao contre Real Sociedad",
   "fragment_from": 414,
   "fragment_to": 485,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/athletic-bilbao-vs-real-sociedad-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "31ff09a0f5c9b5b27c6541e18071d3155d07959d45d12b4aa338fa79b5d27ee8",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:26:50.000Z",
   "detected_at": "2026-10-31T17:25:55.019Z",
   "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-30T15:26:50.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:26:50.000Z",
    "detected_at": "2026-10-31T17:25:55.019Z",
    "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-ee807cc9a10ad320f973354c",
   "url": "/evidence/?pick=n-ee807cc9a10ad320f973354c",
   "quote_text": "Comparez ci-dessous les cotes pour Leeds contre Tottenham, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 384,
   "fragment_to": 501,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/leeds-vs-tottenham-2026-11-07/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "e8abe0d51106a1361d1d1f0fa0dde84aa4dbca66daae01897f0fea84474f7aba",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:27:26.000Z",
   "detected_at": "2026-10-31T17:25:53.842Z",
   "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-30T16:27:26.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:27:26.000Z",
    "detected_at": "2026-10-31T17:25:53.842Z",
    "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-54e038beba95b6885ed8ee35",
   "url": "/evidence/?pick=n-54e038beba95b6885ed8ee35",
   "quote_text": "Comparez ci-dessous les cotes pour Everton contre Coventry, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 388,
   "fragment_to": 506,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/everton-vs-coventry-2026-11-06/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "085de269707140a1e091339737db01f988ab8787a2ec93d093a28683dafea368",
    "material_removed": false
   },
   "published_at": "2026-10-30T17:12:28.000Z",
   "detected_at": "2026-10-31T17:25:51.909Z",
   "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-30T17:12:28.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T17:12:28.000Z",
    "detected_at": "2026-10-31T17:25:51.909Z",
    "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-dc3b8da5482e3e064e2530e1",
   "url": "/evidence/?pick=n-dc3b8da5482e3e064e2530e1",
   "quote_text": "Comparez ci-dessous les cotes pour Elche contre Valencia, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 384,
   "fragment_to": 500,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/elche-vs-valencia-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "98f21a75c04262f048402d0c08d19e0f3245c93d0d4fc3aaa47caf5ba7f40f26",
    "material_removed": false
   },
   "published_at": "2026-10-30T17:39:01.000Z",
   "detected_at": "2026-10-31T15:10:44.828Z",
   "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-30T17:39:01.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T17:39:01.000Z",
    "detected_at": "2026-10-31T15:10:44.828Z",
    "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-430799e5d95bafa319b7ec4c",
   "url": "/evidence/?pick=n-430799e5d95bafa319b7ec4c",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Racing Santander vs Real Madrid",
   "fragment_from": 688,
   "fragment_to": 786,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/racing-santander-vs-real-madrid-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "a96b6568eb1938b79a9660d72e87cf42b48f1c47cb97c39c44b69537f17787c7",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:27:46.000Z",
   "detected_at": "2026-10-30T22:20:03.359Z",
   "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-30T15:27:46.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:27:46.000Z",
    "detected_at": "2026-10-30T22:20:03.359Z",
    "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-c1e6d705ea95950af87be4aa",
   "url": "/evidence/?pick=n-c1e6d705ea95950af87be4aa",
   "quote_text": "Ce contenu a été rédigé en collaboration avec les experts shopping Ouest-France. Les cotes sont susceptibles d'évoluer. Nous percevons une commission de la part des sites de paris sportifs mentionnés sur le site.",
   "fragment_from": 116,
   "fragment_to": 328,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lyon-vs-angers-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "111d8db2dd09d90b9674365c7d27405cbcf8570b6eae213964b5b079801d8221",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:27:06.000Z",
   "detected_at": "2026-10-30T22:19:55.435Z",
   "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-30T15:27:06.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:27:06.000Z",
    "detected_at": "2026-10-30T22:19:55.435Z",
    "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-27070797a57f1cd7e7cc5807",
   "url": "/evidence/?pick=n-27070797a57f1cd7e7cc5807",
   "quote_text": "Comparez ci-dessous les cotes pour Lyon contre Angers, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 378,
   "fragment_to": 491,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lyon-vs-angers-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "111d8db2dd09d90b9674365c7d27405cbcf8570b6eae213964b5b079801d8221",
    "material_removed": false
   },
   "published_at": "2026-10-30T15:27:06.000Z",
   "detected_at": "2026-10-30T22:19:55.435Z",
   "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-30T15:27:06.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T15:27:06.000Z",
    "detected_at": "2026-10-30T22:19:55.435Z",
    "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-ad94e694f378679b7bb95132",
   "url": "/evidence/?pick=n-ad94e694f378679b7bb95132",
   "quote_text": "Comparez ci-dessous les cotes pour Strasbourg contre Auxerre, mises à jour régulièrement",
   "fragment_from": 392,
   "fragment_to": 480,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/strasbourg-vs-auxerre-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "df9f64e94956ce988b3f9f734907fb4095fe30ec927ad02290427418b965d56d",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:28:52.000Z",
   "detected_at": "2026-10-30T20:29:46.881Z",
   "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-30T16:28:52.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-30T16:28:52.000Z",
    "detected_at": "2026-10-30T20:29:46.881Z",
    "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-3bacbac10f7313a9fbcd9d9e",
   "url": "/evidence/?pick=n-3bacbac10f7313a9fbcd9d9e",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Lazio vs Cagliari",
   "fragment_from": 618,
   "fragment_to": 702,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lazio-vs-cagliari-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "15285d5d7449c583c865fbd1455316725eb7933e32adba71f3b4f8b944a74173",
    "material_removed": false
   },
   "published_at": "2026-10-29T22:09:30.000Z",
   "detected_at": "2026-10-29T22:09:41.718Z",
   "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-29T22:09:30.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-29T22:09:30.000Z",
    "detected_at": "2026-10-29T22:09:41.718Z",
    "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-dab9035f1ad3e47d713b984f",
   "url": "/evidence/?pick=n-dab9035f1ad3e47d713b984f",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Frosinone vs Torino",
   "fragment_from": 628,
   "fragment_to": 714,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-torino-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "fe89b9c87afdbb989cf87455dd66e8e006739db00c393fd98a3fd6d2b2f27483",
    "material_removed": false
   },
   "published_at": "2026-10-29T19:39:47.000Z",
   "detected_at": "2026-10-29T19:39:58.692Z",
   "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-29T19:39:47.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-29T19:39:47.000Z",
    "detected_at": "2026-10-29T19:39:58.692Z",
    "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-fc72b90cba3f2ac1c51d8e71",
   "url": "/evidence/?pick=n-fc72b90cba3f2ac1c51d8e71",
   "quote_text": "Comparez ci-dessous les cotes pour Como contre Venezia, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 380,
   "fragment_to": 494,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/como-vs-venezia-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "e7e1d42026ca17641966515b5d8c446e8f2d139ca976bc8f1b1ab3f2fb97f74c",
    "material_removed": false
   },
   "published_at": "2026-10-28T10:41:44.000Z",
   "detected_at": "2026-10-28T22:11:02.100Z",
   "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-28T10:41:44.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-28T10:41:44.000Z",
    "detected_at": "2026-10-28T22:11:02.100Z",
    "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-45b81badf2546f93f430c02a",
   "url": "/evidence/?pick=n-45b81badf2546f93f430c02a",
   "quote_text": "Comparez ci-dessous les cotes pour AC Milan contre Inter, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 382,
   "fragment_to": 498,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/ac-milan-vs-inter-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "ff7a5535842fa532dfa5bd72dea5f973102c98c71e1709e3c17c15fb64c37d91",
    "material_removed": false
   },
   "published_at": "2026-10-28T10:46:34.000Z",
   "detected_at": "2026-10-28T22:10:59.991Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-28T10:46:34.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-28T10:46:34.000Z",
    "detected_at": "2026-10-28T22:10:59.991Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-40d3d84b39343f76c532cb10",
   "url": "/evidence/?pick=n-40d3d84b39343f76c532cb10",
   "quote_text": "Les cotes sont susceptibles d'évoluer. Nous percevons une commission de la part des sites de paris sportifs mentionnés sur le site.",
   "fragment_from": 200,
   "fragment_to": 331,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/ac-milan-vs-inter-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "ff7a5535842fa532dfa5bd72dea5f973102c98c71e1709e3c17c15fb64c37d91",
    "material_removed": false
   },
   "published_at": "2026-10-28T10:46:34.000Z",
   "detected_at": "2026-10-28T22:10:59.991Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-28T10:46:34.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-28T10:46:34.000Z",
    "detected_at": "2026-10-28T22:10:59.991Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b7fdc3a46e5774020a0e27a7",
   "url": "/evidence/?pick=n-b7fdc3a46e5774020a0e27a7",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Bologna vs Monza",
   "fragment_from": 611,
   "fragment_to": 694,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/bologna-vs-monza-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "d6f983d6450818b579e0b6db9d9d923d078c6435d47fe3e4f5a46added197129",
    "material_removed": false
   },
   "published_at": "2026-10-28T10:47:06.000Z",
   "detected_at": "2026-10-28T20:10:01.354Z",
   "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-28T10:47:06.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-28T10:47:06.000Z",
    "detected_at": "2026-10-28T20:10:01.354Z",
    "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-f82c67cb6d7fea2c3bf4998e",
   "url": "/evidence/?pick=n-f82c67cb6d7fea2c3bf4998e",
   "quote_text": "Comparez ci-dessous les cotes pour Fiorentina contre Atalanta, mises à jour régulièrement",
   "fragment_from": 391,
   "fragment_to": 480,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/fiorentina-vs-atalanta-2026-10-29/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "b43b7b66db4e356f4e2bed8b9599efba51799dd000fa55cc7887d1ddb883c4bb",
    "material_removed": false
   },
   "published_at": "2026-10-28T10:30:02.000Z",
   "detected_at": "2026-10-28T20:09:59.523Z",
   "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-28T10:30:02.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-28T10:30:02.000Z",
    "detected_at": "2026-10-28T20:09:59.523Z",
    "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-612b5132307c82bacce3bc40",
   "url": "/evidence/?pick=n-612b5132307c82bacce3bc40",
   "quote_text": "Comparez ci-dessous les cotes pour Frosinone contre Lecce, mises à jour régulièrement chez des opérateurs",
   "fragment_from": 332,
   "fragment_to": 437,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-lecce-2026-10-29/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "7133f6f9abebb747875c4528d96970a9e4b587968c6af07a5f68d5fdef531f78",
    "material_removed": false
   },
   "published_at": "2026-10-21T16:02:10.000Z",
   "detected_at": "2026-10-27T22:09:43.177Z",
   "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-21T16:02:10.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-21T16:02:10.000Z",
    "detected_at": "2026-10-27T22:09:43.177Z",
    "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-6aec5d273cd27da2c7b9391a",
   "url": "/evidence/?pick=n-6aec5d273cd27da2c7b9391a",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Genoa vs Juventus",
   "fragment_from": 567,
   "fragment_to": 651,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/genoa-vs-juventus-2026-10-28/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "02d84a6d66e418d1c30bb8438fe5af67e48b0d83a095c3ef689cf10e0663d537",
    "material_removed": false
   },
   "published_at": "2026-10-21T16:02:20.000Z",
   "detected_at": "2026-10-27T20:09:37.242Z",
   "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-21T16:02:20.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-21T16:02:20.000Z",
    "detected_at": "2026-10-27T20:09:37.242Z",
    "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-93528b6cbd199b5609d1eb17",
   "url": "/evidence/?pick=n-93528b6cbd199b5609d1eb17",
   "quote_text": "Comparez ci-dessous les cotes pour Getafe contre Sevilla, mises à jour régulièrement",
   "fragment_from": 333,
   "fragment_to": 417,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/getafe-vs-sevilla-2026-11-01/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "9a99ac1dee099ca2ada188dacbcd029d79b89cc373c4794eb6f7058ae02b3a2f",
    "material_removed": false
   },
   "published_at": "2026-10-23T00:25:40.000Z",
   "detected_at": "2026-10-26T22:29:33.825Z",
   "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-23T00:25:40.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-23T00:25:40.000Z",
    "detected_at": "2026-10-26T22:29:33.825Z",
    "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-380fcd931e49aa8992d6cb52",
   "url": "/evidence/?pick=n-380fcd931e49aa8992d6cb52",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Nice vs Rennes",
   "fragment_from": 552,
   "fragment_to": 633,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/nice-vs-rennes-2026-10-30/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "60696b6610c96febd75616457faee0d919c6a7e8b9a99b9c7d39f49caa6332e1",
    "material_removed": false
   },
   "published_at": "2026-10-26T18:22:55.000Z",
   "detected_at": "2026-10-26T18:29:39.602Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T18:22:55.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-26T18:22:55.000Z",
    "detected_at": "2026-10-26T18:29:39.602Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c3890445c6731cb670bf916f",
   "url": "/evidence/?pick=n-c3890445c6731cb670bf916f",
   "quote_text": "Comparez ci-dessous les cotes de tous les marchés disponibles pour Slavia Praha vs Arsenal",
   "fragment_from": 609,
   "fragment_to": 699,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/slavia-praha-vs-arsenal-2026-11-04/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "26a60f1acefe151889c0ada6397ee9d298ac55b53a340496c6e2d3e66c8400ef",
    "material_removed": false
   },
   "published_at": "2026-10-26T00:21:42.000Z",
   "detected_at": "2026-10-26T00:29:40.645Z",
   "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-26T00:21:42.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-26T00:21:42.000Z",
    "detected_at": "2026-10-26T00:29:40.645Z",
    "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-6065e1d1ffafec4be549db3c",
   "url": "/evidence/?pick=n-6065e1d1ffafec4be549db3c",
   "quote_text": "Comparez ci-dessous les cotes pour PSV contre Club Brugge, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 335,
   "fragment_to": 452,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/psv-vs-club-brugge-2026-11-04/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "093a4473f28032af2b72012034fc1378935c8766b82dd6ba127771d9de63a403",
    "material_removed": false
   },
   "published_at": "2026-10-26T00:21:43.000Z",
   "detected_at": "2026-10-26T00:29:35.666Z",
   "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-26T00:21:43.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-26T00:21:43.000Z",
    "detected_at": "2026-10-26T00:29:35.666Z",
    "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-2f3a55e89cb2bfd58385818e",
   "url": "/evidence/?pick=n-2f3a55e89cb2bfd58385818e",
   "quote_text": "Comparez ci-dessous les cotes pour Venezia contre Inter, mises à jour régulièrement chez des opérateurs agréés ANJ.",
   "fragment_from": 331,
   "fragment_to": 446,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/venezia-vs-inter-2026-10-28/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2c371a5ba6b72be59b2b2f7fdfaacf1204049c580d6498192ba6560d5a057749",
    "material_removed": false
   },
   "published_at": "2026-10-21T16:02:10.000Z",
   "detected_at": "2026-10-25T22:10:00.811Z",
   "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-21T16:02:10.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-21T16:02:10.000Z",
    "detected_at": "2026-10-25T22:10:00.811Z",
    "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-1082ca733f64b117383bfffd",
   "url": "/evidence/?pick=n-1082ca733f64b117383bfffd",
   "quote_text": "Comparez ci-dessous les cotes pour Barcelona contre Deportivo Alaves, mises à jour régulièrement",
   "fragment_from": 355,
   "fragment_to": 451,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/barcelona-vs-deportivo-alaves-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "f114ecd0f98e37c6c41c9dd53002b91eaa3b72c8d1516e349902b2e16607657f",
    "material_removed": false
   },
   "published_at": "2026-10-22T07:50:21.000Z",
   "detected_at": "2026-10-25T22:09:59.855Z",
   "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-22T07:50:21.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-22T07:50:21.000Z",
    "detected_at": "2026-10-25T22:09:59.855Z",
    "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-7f2c0f1a673bd240a66921ea",
   "url": "/evidence/?pick=n-7f2c0f1a673bd240a66921ea",
   "quote_text": "Comparez ci-dessous les cotes pour Lyon contre Angers, mises à jour régulièrement chez des opérateurs",
   "fragment_from": 325,
   "fragment_to": 426,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lyon-vs-angers-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "7e857c91a3713ce15b47b4fbbda20900df221036ec94bf000042531df17131e0",
    "material_removed": false
   },
   "published_at": "2026-10-22T07:53:10.000Z",
   "detected_at": "2026-10-25T22:09:58.683Z",
   "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-22T07:53:10.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-22T07:53:10.000Z",
    "detected_at": "2026-10-25T22:09:58.683Z",
    "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-926c3bb3e492cec9afb1eeb0",
   "url": "/evidence/?pick=n-926c3bb3e492cec9afb1eeb0",
   "quote_text": "Comparez ci-dessous les cotes pour Werder Bremen contre TSG Hoffenheim, mises à jour régulièrement",
   "fragment_from": 359,
   "fragment_to": 457,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/werder-bremen-vs-tsg-hoffenheim-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "d394ef00a933d8ead9b3d06fd60d30e3a89e6e2a15f5f90dc15e489a3547b50d",
    "material_removed": false
   },
   "published_at": "2026-10-22T07:50:31.000Z",
   "detected_at": "2026-10-25T19:29:41.083Z",
   "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-22T07:50:31.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-22T07:50:31.000Z",
    "detected_at": "2026-10-25T19:29:41.083Z",
    "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-f3a8a3546abcf45a5cf6c234",
   "url": "/evidence/?pick=n-f3a8a3546abcf45a5cf6c234",
   "quote_text": "Comparez ci-dessous les cotes pour Manchester City contre Brighton, mises à jour régulièrement",
   "fragment_from": 351,
   "fragment_to": 445,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/manchester-city-vs-brighton-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "9698b310e5ab4fabb077ad78689efbf71269458338e91ea90bdeee0ac7737bac",
    "material_removed": false
   },
   "published_at": "2026-10-22T08:22:22.000Z",
   "detected_at": "2026-10-25T18:39:48.430Z",
   "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-22T08:22:22.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-22T08:22:22.000Z",
    "detected_at": "2026-10-25T18:39:48.430Z",
    "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-15481e2732d7e4d9f6503019",
   "url": "/evidence/?pick=n-15481e2732d7e4d9f6503019",
   "quote_text": "Comparez ci-dessous les cotes pour Lorient contre Brest, mises à jour régulièrement chez des",
   "fragment_from": 329,
   "fragment_to": 421,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lorient-vs-brest-2026-10-31/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "4c89ce2a63d1eaf240957062c5d24796cdf58107a82eef2826faa08b608b0edf",
    "material_removed": false
   },
   "published_at": "2026-10-22T07:53:08.000Z",
   "detected_at": "2026-10-25T18:39:46.994Z",
   "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-22T07:53:08.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-22T07:53:08.000Z",
    "detected_at": "2026-10-25T18:39:46.994Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 16,
  "service": 0,
  "ruleset_version": "3"
 },
 "standing": {
  "titles": [
   {
    "code_name": "E-07",
    "display_name": "Away win at 3.25 · Manchester City v Paris Saint-Germain · 14 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Long-price call",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Away win at 3.25 · Manchester City v Paris Saint-Germain · 14 Oct 2026",
    "rationale": "Away win called correctly at 3.25 (our pre-match price). 14 other tipsters and sources on this match, 0 right (10 named home win, 4 named draw). Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-e-07-all-event",
    "alt": "Ouest-France paris sportifs · Away win at 3.25 · Manchester City v Paris Saint-Germain · 14 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/sources/paris-sportifs-ouest-france-fr/#title-long-price-call\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-m-light.svg\" alt=\"Ouest-France paris sportifs · Away win at 3.25 · Manchester City v Paris Saint-Germain · 14 Oct 2026 · Tracked by Forecast Record\" width=\"1063\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 12 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-14",
    "evidence_through": "2026-10-14",
    "earned_at": "2026-10-14",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-12",
    "badge_label": "Correct at 3.25 · 14 Oct",
    "scope_words": null,
    "title_id": "zk-5f7a25b0b51acea5b07c",
    "evidence_items": [
     {
      "nid": "n-ac8961f6688a619764d847e0",
      "data": "2026-10-14",
      "match": "Manchester City v Paris Saint-Germain",
      "said_text": "1X2, match result: Paris Saint-Germain",
      "outcome_label": "right",
      "evidence_price": 3.25,
      "comparison": "14 other tipsters and sources on this match, 0 right (10 named home win, 4 named draw)",
      "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-ac8961f6688a619764d847e0"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1444,
       "height": 40,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1444,
       "height": 40,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 1063,
       "height": 28,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 1063,
       "height": 28,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 831,
       "height": 20,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 831,
       "height": 20,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ad551d9e75e7ce9b7cb2722f/e-07-all-event-card.svg"
    },
    "profile_anchor": "title-5f7a25b0b51a",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.307692,
     "one_in": 3,
     "log10": -0.51,
     "words": "1 in 3",
     "rule": "market probability (1/price) of this one pick",
     "note": "market prices include the bookmaker margin, so the chance is slightly overstated — a cautious figure"
    },
    "embed_anchor": "title-long-price-call"
   },
   {
    "code_name": "C-02",
    "display_name": "Only one right of 15 tipsters and sources · Away win · 14 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Lone correct call",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Only one right of 15 tipsters and sources · Away win · Manchester City v Paris Saint-Germain · 14 Oct 2026",
    "rationale": "Away win called correctly; 14 other tipsters and sources on this match, 0 right (10 named home win, 4 named draw). 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-c-02-all-event",
    "alt": "Ouest-France paris sportifs · Only one right of 15 tipsters and sources · Away win · Manchester City v Paris Saint-Germain · 14 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/sources/paris-sportifs-ouest-france-fr/#title-lone-correct-call\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-m-light.svg\" alt=\"Ouest-France paris sportifs · Only one right of 15 tipsters and sources · Away win · Manchester City v Paris Saint-Germain · 14 Oct 2026 · Tracked by Forecast Record\" width=\"1355\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 12 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-14",
    "evidence_through": "2026-10-14",
    "earned_at": "2026-10-14",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-12",
    "badge_label": "Only right of 15 · 14 Oct",
    "scope_words": null,
    "title_id": "zk-391aa85577d6c245776d",
    "evidence_items": [
     {
      "nid": "n-ac8961f6688a619764d847e0",
      "data": "2026-10-14",
      "match": "Manchester City v Paris Saint-Germain",
      "said_text": "1X2, match result: Paris Saint-Germain",
      "outcome_label": "right",
      "evidence_price": 3.25,
      "comparison": "14 other tipsters and sources on this match, 0 right (10 named home win, 4 named draw)",
      "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-ac8961f6688a619764d847e0"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1840,
       "height": 40,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1840,
       "height": 40,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 1355,
       "height": 28,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 1355,
       "height": 28,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 1060,
       "height": 20,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 1060,
       "height": 20,
       "url": "/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ad551d9e75e7ce9b7cb2722f/c-02-all-event-card.svg"
    },
    "profile_anchor": "title-391aa85577d6",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.307692,
     "one_in": 3,
     "log10": -0.51,
     "words": "1 in 3",
     "rule": "market probability (1/price) of this one pick",
     "note": "market prices include the bookmaker margin, so the chance is slightly overstated — a cautious figure"
    },
    "embed_anchor": "title-lone-correct-call"
   }
  ],
  "publication_mode": "top20",
  "empty_reason": null,
  "rules_version": "catalog-1",
  "insufficient": [],
  "badges_on_page": 0,
  "header_titles": [
   {
    "title_id": "zk-391aa85577d6c245776d",
    "code_name": "C-02",
    "title_tier": "dated_record",
    "badge_label": "Only right of 15 · 14 Oct",
    "body": "Only one right of 15 tipsters and sources · Away win · Manchester City v Paris Saint-Germain · 14 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-391aa85577d6",
    "event_at": "2026-10-14",
    "url": "/titles/c-02-lone-correct-call/#zk-391aa85577d6c245776d"
   },
   {
    "title_id": "zk-5f7a25b0b51acea5b07c",
    "code_name": "E-07",
    "title_tier": "dated_record",
    "badge_label": "Correct at 3.25 · 14 Oct",
    "body": "Away win at 3.25 · Manchester City v Paris Saint-Germain · 14 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-5f7a25b0b51a",
    "event_at": "2026-10-14",
    "url": "/titles/e-07-long-price-call/"
   }
  ],
  "record_origin": [],
  "recent_record": [
   {
    "code_name": "C-02",
    "body": "Only one right of 15 tipsters and sources · Away win · Manchester City v Paris Saint-Germain · 14 Oct 2026",
    "event_at": "2026-10-14",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-391aa85577d6"
   },
   {
    "code_name": "E-07",
    "body": "Away win at 3.25 · Manchester City v Paris Saint-Germain · 14 Oct 2026",
    "event_at": "2026-10-14",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-5f7a25b0b51a"
   }
  ],
  "record_details": [],
  "history": []
 },
 "retro": null,
 "late": null,
 "price_vs_market": null,
 "record_summary": {
  "contract_version": "1",
  "entity_type": "editorial",
  "entity_words": "Editorial source",
  "source": {
   "name": "paris-sportifs.ouest-france.fr",
   "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/torino-vs-monza-2026-10-23/"
  },
  "observed_from": "2026-10-11",
  "observed_to": "2026-11-07",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "market_price",
  "series": "Recorded before kick-off, at our recorded market price",
  "restored": false,
  "headline_kind": "live_snapshot",
  "headline_part": "live",
  "settled_picks": 50,
  "matches": 24,
  "void": 0,
  "net_points_hundredths": -94840,
  "staked_hundredths": 500000,
  "return_percent": "-18.97",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-10-11",
  "period_to": "2026-10-23",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": false,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 50 settled live picks by Ouest-France paris sportifs before kick-off across 24 matches between 11 and 23 October 2026. At our recorded market prices these picks returned −19.0% on the total staked. Of the 154 predictions we hold for Ouest-France paris sportifs, 101 are linked to matches: 101 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "50",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "24",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "−948.40 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "−19.0%",
    "anchor": "/methodology/#roi",
    "note": "95% interval −44.4% to +6.2%"
   }
  ],
  "limitations": [],
  "other_series": [],
  "return_over_time": [
   {
    "date": "2026-10-11",
    "cumulative_points_hundredths": -89842,
    "n": 21
   },
   {
    "date": "2026-10-12",
    "cumulative_points_hundredths": -91368,
    "n": 25
   },
   {
    "date": "2026-10-16",
    "cumulative_points_hundredths": -104375,
    "n": 28
   },
   {
    "date": "2026-10-17",
    "cumulative_points_hundredths": -85678,
    "n": 35
   },
   {
    "date": "2026-10-18",
    "cumulative_points_hundredths": -70519,
    "n": 40
   },
   {
    "date": "2026-10-19",
    "cumulative_points_hundredths": -76601,
    "n": 42
   },
   {
    "date": "2026-10-21",
    "cumulative_points_hundredths": -96601,
    "n": 44
   },
   {
    "date": "2026-10-23",
    "cumulative_points_hundredths": -94840,
    "n": 50
   }
  ],
  "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": 50,
    "matches": 24,
    "match_dates": 8,
    "period_from": "2026-10-11",
    "period_to": "2026-10-23",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": -94840,
    "low": {
     "date": "2026-10-16",
     "cumulative_points_hundredths": -104375,
     "after_picks": 28
    },
    "high": {
     "date": "2026-10-18",
     "cumulative_points_hundredths": -70519,
     "after_picks": 40
    },
    "line_drawn": true,
    "steps": [
     {
      "date": "2026-10-11",
      "cumulative_points_hundredths": -89842,
      "n": 21,
      "picks": 21
     },
     {
      "date": "2026-10-12",
      "cumulative_points_hundredths": -91368,
      "n": 25,
      "picks": 4
     },
     {
      "date": "2026-10-16",
      "cumulative_points_hundredths": -104375,
      "n": 28,
      "picks": 3
     },
     {
      "date": "2026-10-17",
      "cumulative_points_hundredths": -85678,
      "n": 35,
      "picks": 7
     },
     {
      "date": "2026-10-18",
      "cumulative_points_hundredths": -70519,
      "n": 40,
      "picks": 5
     },
     {
      "date": "2026-10-19",
      "cumulative_points_hundredths": -76601,
      "n": 42,
      "picks": 2
     },
     {
      "date": "2026-10-21",
      "cumulative_points_hundredths": -96601,
      "n": 44,
      "picks": 2
     },
     {
      "date": "2026-10-23",
      "cumulative_points_hundredths": -94840,
      "n": 50,
      "picks": 6
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 50 settled live picks by Ouest-France paris sportifs before kick-off across 24 matches between 11 and 23 October 2026. At our recorded market prices these picks returned −19.0% on the total staked. Of the 154 predictions we hold for Ouest-France paris sportifs, 101 are linked to matches: 101 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/sources/paris-sportifs-ouest-france-fr/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 154,
   "under_review": 0,
   "no_match_linked": 53,
   "proven_predictions": 101,
   "proven_checked": 99,
   "proven_measured": 50,
   "proven_dates": 9,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 101,
     "checked": 99,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 50,
      "void": 0,
      "matches": 24,
      "net_points_hundredths": -94840,
      "staked_hundredths": 500000,
      "return_percent": "-18.97",
      "interval_low": "-44.37",
      "interval_high": "6.18",
      "interval_note": null,
      "period_from": "2026-10-11",
      "period_to": "2026-10-23",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "0.1",
      "checked_after_kickoff_picks": 20
     },
     "same_picks": [
      {
       "price": "Closing price",
       "series_code": "closing_live",
       "picks": 50,
       "return_main_percent": "-18.97",
       "return_other_percent": "-13.09",
       "settled_excluding_void": 50,
       "net_main_points_hundredths": -94840,
       "net_other_points_hundredths": -65430,
       "period_from": "2026-10-11",
       "period_to": "2026-10-23"
      }
     ],
     "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": 99,
      "priced": 50
     },
     "accuracy": {
      "picks": 50,
      "won": 23,
      "won_percent": "46.0",
      "implied_percent": "53.6",
      "left_out": 0,
      "by_market": [
       {
        "market": "Both teams to score",
        "won": 10,
        "picks": 19,
        "implied_percent": "54.2"
       },
       {
        "market": "Over/under goals",
        "won": 8,
        "picks": 15,
        "implied_percent": "51.1"
       },
       {
        "market": "Match result",
        "won": 2,
        "picks": 10,
        "implied_percent": "47.2"
       },
       {
        "market": "Double chance",
        "won": 3,
        "picks": 6,
        "implied_percent": "69.0"
       }
      ]
     },
     "reviewed_after": {
      "predictions": 36,
      "right": 19,
      "wrong": 17,
      "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-018c18c911a4f800d6307976",
   "n-08af8f12eee4085c0fbc5ef1",
   "n-0b21431e023a3a7aa7bb19d9",
   "n-13df79af5d1d67921e1f021b",
   "n-1d2e9126c4fd3f32ce4b5e19",
   "n-22c6984111985bbd0a58b701",
   "n-26300c163c8310acf8af6c3e",
   "n-34b69c52b2cdd70591990803",
   "n-37a3075de73d812ab38fbf35",
   "n-40bba74f776a4dcbc582c2f6",
   "n-516814f06ddd8a021391686e",
   "n-52919f45ac3da1a4377e426c",
   "n-541fd4a5337fb8d293c40e0b",
   "n-55dbe437a07e0423b769e524",
   "n-5985150bf13854fc86118448",
   "n-5da48b939def42d0be9f303a",
   "n-5eb50c03c838df8d63f3fdc6",
   "n-631ca75ad30ea54aa3199258",
   "n-67671e2fc9199479f6ac3878",
   "n-7176bc5d4ace8c5f9b57a5f3",
   "n-7669f5158afbc12d5bf283e9",
   "n-797f93088e76aed3faf483e6",
   "n-7cc4149118b6b8e6ecd19777",
   "n-7f8aea37a6892a1a8c1f04af",
   "n-8101f56cd27734af10584297",
   "n-87d63c92c7bf711c4775d476",
   "n-89ce07580ccb831508bd4682",
   "n-a75dbc58c9aecce4c4483ae5",
   "n-a9009407a69573a66fade54c",
   "n-ae283d81ec878737653f7915",
   "n-bb73c8d826d69de001c71f08",
   "n-bec38a87927cb4db9a279d76",
   "n-c0ba6cf0b7e9d1cb91d948be",
   "n-c1b7ea2f97f79e577cf87d1f",
   "n-c27f04515b13c5a3fdb9c502",
   "n-c93b5de077967cef69192cd1",
   "n-c9fa3dec03636e63e12adef0",
   "n-cae9e164faae39eec70d0ead",
   "n-d4ae2d36741751e860b034ea",
   "n-d83e463614fa00680c3c32d4",
   "n-d92be3cb58403302efd7ddcf",
   "n-dcd901c547fb070eb5c62e8f",
   "n-df943451f6f6f35b388aa439",
   "n-e1d2f11ec319d5e2c96a192a",
   "n-e2172d2916392b72121373c5",
   "n-e455750fbf3ab9757cadd89e",
   "n-e81d73dd125bd797fff03a6f",
   "n-fb5aee18e58ab1e0e50f4930",
   "n-fbeab2664e8ae066d3e0419f",
   "n-fdfeee3826b6242f2764089a"
  ],
  "interval_low": "-44.37",
  "interval_high": "6.18",
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 11–23 October 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-10-11",
  "record_to": "2026-11-07"
 },
 "recorded_picks": [
  {
   "record_id": "n-bec38a87927cb4db9a279d76",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-bec38a87927cb4db9a279d76",
   "match": "Ipswich Town v Nottingham Forest",
   "match_url": "/football/matches/ipswich-town-vs-nottingham-forest-2026-10-23/",
   "kickoff": "2026-10-23T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 90.5,
   "market_code": "double_chance",
   "author_said": "Double chance: Ipswich Town or draw",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6167,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6167",
   "published_at": "2026-10-20T00:23:29.000Z",
   "recorded_at": "2026-10-20T00:29:40.958Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bec38a87927cb4db9a279d76",
    "quote_text": "Double chance 1X: Ipswich bénéficie d'une meilleure position au classement et joue à domicile, mais Nottingham Forest a prouvé sa capacité à arracher des résultats en déplacement.",
    "fragment_from": 2827,
    "fragment_to": 3006,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/ipswich-vs-nottingham-forest-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "9eabe4f259834db79cf8680db02f79a793d97ff886a685662f90af0ae0d1f7f8",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:29.000Z",
    "detected_at": "2026-10-20T00:29:40.958Z",
    "executed_at": "2026-10-23T00:47:15.799Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f5f96a4e7aba",
     "display_name": "Ipswich Town — Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2026-10-23T19:00:00.000Z",
     "url": "/football/matches/ipswich-town-vs-nottingham-forest-2026-10-23/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "Ipswich Town or draw",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6167",
     "our_snapshot_at": "2026-10-20T00:26:22.385Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6167,
    "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-20T00:23:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:29.000Z",
     "detected_at": "2026-10-20T00:29:40.958Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "Ipswich Town or draw",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "1X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: Ipswich Town or draw"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Ipswich Town 1-1 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "1d5bd3fc57edf73e5c994645c289794840f2f1940b43d0af4ad2d082a941f2a2",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "Ipswich Town or draw",
      "decimal_odds": "1.6167",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6167,
      "executed_at": "2026-10-23T00:47:15.799Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/ipswich-vs-nottingham-forest-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Ipswich Town or draw"
   }
  },
  {
   "record_id": "n-541fd4a5337fb8d293c40e0b",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-541fd4a5337fb8d293c40e0b",
   "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": 89.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "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": null,
   "settled_price": "2.0000",
   "published_at": "2026-10-20T00:23:33.000Z",
   "recorded_at": "2026-10-20T01:29:54.113Z",
   "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.7692",
    "result": "Won",
    "points_hundredths": 7692,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-541fd4a5337fb8d293c40e0b",
    "quote_text": "Les deux équipes marquent: Non - Monza n'a marqué que 13 buts en 7 rencontres, un rendement offensif limité. La défense du Torino, bien qu'ayant encaissé 9 buts, devrait pouvoir contenir les attaques brianzoles. Une partie sobre en buts devient une hypothèse crédible au vu des statistiques.",
    "fragment_from": 3060,
    "fragment_to": 3351,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/torino-vs-monza-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "ec0ffe69b3a08f486562ceaa8c87b264eb80f0f58abeecd34f305ebd3381d743",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:33.000Z",
    "detected_at": "2026-10-20T01:29:54.113Z",
    "executed_at": "2026-10-23T00:47:06.097Z",
    "statement_class": "unpriced",
    "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": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.0000",
     "our_snapshot_at": "2026-10-20T01:38:09.323Z",
     "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-20T00:23:33.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:33.000Z",
     "detected_at": "2026-10-20T01:29:54.113Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "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": "3cbf91a0c64c00654eaa55b8b45a6daa1e835798374d273f250c42a13fbfd24d",
      "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.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-23T00:47:06.097Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/torino-vs-monza-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-631ca75ad30ea54aa3199258",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-631ca75ad30ea54aa3199258",
   "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": 89.3,
   "market_code": "double_chance",
   "author_said": "Double chance: Torino or draw",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3141,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.3141",
   "published_at": "2026-10-20T00:23:33.000Z",
   "recorded_at": "2026-10-20T01:29:54.113Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-631ca75ad30ea54aa3199258",
    "quote_text": "Double chance 1X - Bien que le Torino soit légèrement avantagé, il ne faut pas oublier que Monza l'a battu 1-0 le 1er septembre dernier. Avec seulement 7 points en 7 matchs, les Brianzoli ne sont pas à négliger. Couvrir la victoire grenata ou le match nul offre une protection contre un possible coup de théâtre.",
    "fragment_from": 2746,
    "fragment_to": 3058,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/torino-vs-monza-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "ec0ffe69b3a08f486562ceaa8c87b264eb80f0f58abeecd34f305ebd3381d743",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:33.000Z",
    "detected_at": "2026-10-20T01:29:54.113Z",
    "executed_at": "2026-10-23T00:47:05.691Z",
    "statement_class": "unpriced",
    "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": "Double chance",
    "outcome_label": "Torino or draw",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.3141",
     "our_snapshot_at": "2026-10-20T01:38:09.323Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3141,
    "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-20T00:23:33.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:33.000Z",
     "detected_at": "2026-10-20T01:29:54.113Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "Torino or draw",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "1X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: Torino or draw"
    },
    "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": "7b8eb0c422c815645af12335167b874b3fdaad55dd68d7f107d3a798e2ca5efe",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "Torino or draw",
      "decimal_odds": "1.3141",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3141,
      "executed_at": "2026-10-23T00:47:05.691Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/torino-vs-monza-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Torino or draw"
   }
  },
  {
   "record_id": "n-c27f04515b13c5a3fdb9c502",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-c27f04515b13c5a3fdb9c502",
   "match": "Stade Brestois v Nice",
   "match_url": "/football/matches/stade-brestois-vs-nice-2026-10-23/",
   "kickoff": "2026-10-23T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 90.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6803,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6803",
   "published_at": "2026-10-20T00:23:28.000Z",
   "recorded_at": "2026-10-20T00:29:40.209Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c27f04515b13c5a3fdb9c502",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3335,
    "fragment_to": 3372,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/brest-vs-nice-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "de18aa58d73b8e01ff75b67213493ebdbd81fc9e30952c81e6e57e48ff091c5c",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:28.000Z",
    "detected_at": "2026-10-20T00:29:40.209Z",
    "executed_at": "2026-11-07T10:01:59.315Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1327a569d107",
     "display_name": "Stade Brestois — Nice",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-23T18:45:00.000Z",
     "url": "/football/matches/stade-brestois-vs-nice-2026-10-23/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6803",
     "our_snapshot_at": "2026-10-20T00:38:01.630Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6803,
    "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-20T00:23:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:28.000Z",
     "detected_at": "2026-10-20T00:29:40.209Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Stade Brestois 1-2 Nice."
    },
    "settlements": [
     {
      "operation_id": "f5f10b1c6c610d3789ee4c54d965687879c2b7762851b1ec071d9e79ee5a30b0",
      "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.6803",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6803,
      "executed_at": "2026-11-07T10:01:59.315Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/brest-vs-nice-2026-10-23/",
     "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-0b21431e023a3a7aa7bb19d9",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-0b21431e023a3a7aa7bb19d9",
   "match": "Stade Brestois v Nice",
   "match_url": "/football/matches/stade-brestois-vs-nice-2026-10-23/",
   "kickoff": "2026-10-23T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 90.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5650,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.5650",
   "published_at": "2026-10-20T00:23:28.000Z",
   "recorded_at": "2026-10-20T00:29:40.209Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0b21431e023a3a7aa7bb19d9",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3010,
    "fragment_to": 3041,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/brest-vs-nice-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "de18aa58d73b8e01ff75b67213493ebdbd81fc9e30952c81e6e57e48ff091c5c",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:28.000Z",
    "detected_at": "2026-10-20T00:29:40.209Z",
    "executed_at": "2026-11-07T10:01:58.373Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1327a569d107",
     "display_name": "Stade Brestois — Nice",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-23T18:45:00.000Z",
     "url": "/football/matches/stade-brestois-vs-nice-2026-10-23/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.5650",
     "our_snapshot_at": "2026-10-20T00:38:01.630Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5650,
    "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-20T00:23:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:28.000Z",
     "detected_at": "2026-10-20T00:29:40.209Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Stade Brestois 1-2 Nice."
    },
    "settlements": [
     {
      "operation_id": "6fa95b09861ef8538f8b23a638fa577f1b4b31e546e9bee0bd7ffdfafc16c7f3",
      "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.5650",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5650,
      "executed_at": "2026-11-07T10:01:58.373Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/brest-vs-nice-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-e2172d2916392b72121373c5",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-e2172d2916392b72121373c5",
   "match": "Stade Brestois v Nice",
   "match_url": "/football/matches/stade-brestois-vs-nice-2026-10-23/",
   "kickoff": "2026-10-23T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 90.3,
   "market_code": "double_chance",
   "author_said": "Double chance: Stade Brestois or draw",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.3466",
   "published_at": "2026-10-20T00:23:28.000Z",
   "recorded_at": "2026-10-20T00:29:40.209Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e2172d2916392b72121373c5",
    "quote_text": "Double chance (1X2): Brest ou match nul.",
    "fragment_from": 2709,
    "fragment_to": 2749,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/brest-vs-nice-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "de18aa58d73b8e01ff75b67213493ebdbd81fc9e30952c81e6e57e48ff091c5c",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:28.000Z",
    "detected_at": "2026-10-20T00:29:40.209Z",
    "executed_at": "2026-10-23T00:47:15.831Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1327a569d107",
     "display_name": "Stade Brestois — Nice",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-23T18:45:00.000Z",
     "url": "/football/matches/stade-brestois-vs-nice-2026-10-23/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "Stade Brestois or draw",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.3466",
     "our_snapshot_at": "2026-10-20T00:38:01.630Z",
     "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-20T00:23:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:28.000Z",
     "detected_at": "2026-10-20T00:29:40.209Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "Stade Brestois or draw",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "1X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: Stade Brestois or draw"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Stade Brestois 1-2 Nice."
    },
    "settlements": [
     {
      "operation_id": "d4f7b12c04de97aa4671d5ad88c794343369fcc171ac3f58bbcee563110dc1b6",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "Stade Brestois or draw",
      "decimal_odds": "1.3466",
      "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:47:15.831Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/brest-vs-nice-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stade Brestois or draw"
   }
  },
  {
   "record_id": "n-7cc4149118b6b8e6ecd19777",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-7cc4149118b6b8e6ecd19777",
   "match": "FC Bayern München v Arsenal",
   "match_url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 90.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.4500",
   "published_at": "2026-10-18T00:22:26.000Z",
   "recorded_at": "2026-10-18T00:29:33.269Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7cc4149118b6b8e6ecd19777",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3262,
    "fragment_to": 3293,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bayern-munich-vs-arsenal-2026-10-21/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "879fd86431b0738dc840e304cf11417e854ce788c34dfab28ceb1afac2320077",
     "material_removed": false
    },
    "published_at": "2026-10-18T00:22:26.000Z",
    "detected_at": "2026-10-18T00:29:33.269Z",
    "executed_at": "2026-11-07T07:46:19.032Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9b50ee5dca05",
     "display_name": "FC Bayern München — Arsenal",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.4500",
     "our_snapshot_at": "2026-10-18T00:24:56.019Z",
     "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-18T00:22:26.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-18T00:22:26.000Z",
     "detected_at": "2026-10-18T00:29:33.269Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was FC Bayern München 2-2 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "d21fd6a2ffb296a6e27ca098bc95823d478bcb5ed48ae1b214b47f5e97c1e0cb",
      "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.4500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T07:46:19.032Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bayern-munich-vs-arsenal-2026-10-21/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-37a3075de73d812ab38fbf35",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-37a3075de73d812ab38fbf35",
   "match": "FC Bayern München v Arsenal",
   "match_url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 90.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Arsenal",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "3.1000",
   "published_at": "2026-10-18T00:22:26.000Z",
   "recorded_at": "2026-10-18T00:29:33.269Z",
   "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.1500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-37a3075de73d812ab38fbf35",
    "quote_text": "Résultat du match (1X2): Arsenal.",
    "fragment_from": 2664,
    "fragment_to": 2697,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bayern-munich-vs-arsenal-2026-10-21/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "879fd86431b0738dc840e304cf11417e854ce788c34dfab28ceb1afac2320077",
     "material_removed": false
    },
    "published_at": "2026-10-18T00:22:26.000Z",
    "detected_at": "2026-10-18T00:29:33.269Z",
    "executed_at": "2026-10-19T14:49:54.043Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9b50ee5dca05",
     "display_name": "FC Bayern München — Arsenal",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Arsenal",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "3.1000",
     "our_snapshot_at": "2026-10-18T00:24:56.019Z",
     "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-18T00:22:26.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-18T00:22:26.000Z",
     "detected_at": "2026-10-18T00:29:33.269Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Arsenal",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Arsenal"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was FC Bayern München 2-2 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "98136934a1e926caa3458d41a9233b614fb94cd2741022a4481ce3e081ed5073",
      "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": "Arsenal",
      "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-19T14:49:54.043Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bayern-munich-vs-arsenal-2026-10-21/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Arsenal to win"
   }
  },
  {
   "record_id": "n-ae283d81ec878737653f7915",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-ae283d81ec878737653f7915",
   "match": "Getafe v Rayo Vallecano",
   "match_url": "/football/matches/getafe-vs-rayo-vallecano-2026-10-19/",
   "kickoff": "2026-10-19T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 48.3,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Rayo Vallecano",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3918,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.3918",
   "published_at": "2026-10-16T00:22:28.000Z",
   "recorded_at": "2026-10-17T18:39:36.328Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ae283d81ec878737653f7915",
    "quote_text": "Double chance: Rayo Vallecano ou match nul - L'historique récent des cinq derniers chocs favorise clairement Rayo Vallecano avec deux victoires et un match nul contre Getafe. Disposant d'une supériorité technique et affrontant un adversaire en crise, le Rayo part favori, tandis que cette double chance offre une couverture supplémentaire tout en maintenant l'exposition sur la victoire vallecana.",
    "fragment_from": 3982,
    "fragment_to": 4379,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/getafe-vs-rayo-vallecano-2026-10-19/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "3dc19ddba9b65a601c7b908162efe970d4eccf88233ea41edace477999208736",
     "material_removed": false
    },
    "published_at": "2026-10-16T00:22:28.000Z",
    "detected_at": "2026-10-17T18:39:36.328Z",
    "executed_at": "2026-10-19T05:08:44.151Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0565e66356f7",
     "display_name": "Getafe — Rayo Vallecano",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-19T19:00:00.000Z",
     "url": "/football/matches/getafe-vs-rayo-vallecano-2026-10-19/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Rayo Vallecano",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.3918",
     "our_snapshot_at": "2026-10-17T18:39:30.043Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3918,
    "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-16T00:22:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-16T00:22:28.000Z",
     "detected_at": "2026-10-17T18:39:36.328Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "draw or Rayo Vallecano",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Rayo Vallecano"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Getafe 1-1 Rayo Vallecano."
    },
    "settlements": [
     {
      "operation_id": "0c7b511ffb47c5381f0273631811a21b4e1b134e55118536f46a8c7cde49302f",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Rayo Vallecano",
      "decimal_odds": "1.3918",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3918,
      "executed_at": "2026-10-19T05:08:44.151Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/getafe-vs-rayo-vallecano-2026-10-19/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Rayo Vallecano"
   }
  },
  {
   "record_id": "n-dcd901c547fb070eb5c62e8f",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-dcd901c547fb070eb5c62e8f",
   "match": "Getafe v Rayo Vallecano",
   "match_url": "/football/matches/getafe-vs-rayo-vallecano-2026-10-19/",
   "kickoff": "2026-10-19T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 48.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.4300",
   "published_at": "2026-10-16T00:22:28.000Z",
   "recorded_at": "2026-10-17T18:39:36.328Z",
   "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.5291",
    "result": "Won",
    "points_hundredths": 5291,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-dcd901c547fb070eb5c62e8f",
    "quote_text": "Plus/Moins de buts: Plus de 2.5 - Le Rayo produit une moyenne de 1.57 but par rencontre tandis que Getafe en concède 1.25. Avec le potentiel offensif supérieur des Vallecanos et les problèmes défensifs manifestes du Getafe, un dépassement du seuil des 2.5 buts totaux s'avère plausible.",
    "fragment_from": 3694,
    "fragment_to": 3980,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/getafe-vs-rayo-vallecano-2026-10-19/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "3dc19ddba9b65a601c7b908162efe970d4eccf88233ea41edace477999208736",
     "material_removed": false
    },
    "published_at": "2026-10-16T00:22:28.000Z",
    "detected_at": "2026-10-17T18:39:36.328Z",
    "executed_at": "2026-10-19T05:08:45.300Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0565e66356f7",
     "display_name": "Getafe — Rayo Vallecano",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-19T19:00:00.000Z",
     "url": "/football/matches/getafe-vs-rayo-vallecano-2026-10-19/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.4300",
     "our_snapshot_at": "2026-10-17T18:39:30.043Z",
     "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-16T00:22:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-16T00:22:28.000Z",
     "detected_at": "2026-10-17T18:39:36.328Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Getafe 1-1 Rayo Vallecano."
    },
    "settlements": [
     {
      "operation_id": "8aa0025053282de462d30a40e036e29dc724965bceb33ce5ec5a6177c383e2ef",
      "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.4300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-19T05:08:45.300Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/getafe-vs-rayo-vallecano-2026-10-19/",
     "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-52919f45ac3da1a4377e426c",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-52919f45ac3da1a4377e426c",
   "match": "Celta Vigo v Deportivo Alavés",
   "match_url": "/football/matches/celta-vigo-vs-deportivo-alaves-2026-10-18/",
   "kickoff": "2026-10-18T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 41.1,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Deportivo Alavés",
   "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": null,
   "settled_price": "1.6597",
   "published_at": "2026-10-15T00:23:56.000Z",
   "recorded_at": "2026-10-16T21:09:41.397Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-52919f45ac3da1a4377e426c",
    "quote_text": "Double chance, Victoire ou nul pour Deportivo Alaves",
    "fragment_from": 3308,
    "fragment_to": 3360,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "21434fcf79924e66ed875adfc94b09e1ac44b73124b3f40c6489eeaaab9a03eb",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:23:56.000Z",
    "detected_at": "2026-10-16T21:09:41.397Z",
    "executed_at": "2026-10-18T11:03:04.473Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-34e420ecadfa",
     "display_name": "Celta Vigo — Deportivo Alavés",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-18T14:15:00.000Z",
     "url": "/football/matches/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Deportivo Alavés",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6597",
     "our_snapshot_at": "2026-10-16T21:05:56.022Z",
     "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-15T00:23:56.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:23:56.000Z",
     "detected_at": "2026-10-16T21:09:41.397Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "draw or Deportivo Alavés",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Deportivo Alavés"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Celta Vigo 2-1 Deportivo Alavés."
    },
    "settlements": [
     {
      "operation_id": "b91054cf6e5a05bd196043831d6c0145ae6e7bc90f64eaa87fbf6667fe8a8ae1",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Deportivo Alavés",
      "decimal_odds": "1.6597",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T11:03:04.473Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Deportivo Alavés"
   }
  },
  {
   "record_id": "n-55dbe437a07e0423b769e524",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-55dbe437a07e0423b769e524",
   "match": "Celta Vigo v Deportivo Alavés",
   "match_url": "/football/matches/celta-vigo-vs-deportivo-alaves-2026-10-18/",
   "kickoff": "2026-10-18T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 41.1,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9259,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.9259",
   "published_at": "2026-10-15T00:23:56.000Z",
   "recorded_at": "2026-10-16T21:09:41.397Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-55dbe437a07e0423b769e524",
    "quote_text": "Les deux équipes marquent",
    "fragment_from": 3091,
    "fragment_to": 3116,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "21434fcf79924e66ed875adfc94b09e1ac44b73124b3f40c6489eeaaab9a03eb",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:23:56.000Z",
    "detected_at": "2026-10-16T21:09:41.397Z",
    "executed_at": "2026-11-07T01:33:30.399Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-34e420ecadfa",
     "display_name": "Celta Vigo — Deportivo Alavés",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-18T14:15:00.000Z",
     "url": "/football/matches/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.9259",
     "our_snapshot_at": "2026-10-16T21:05:56.022Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 9259,
    "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-15T00:23:56.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:23:56.000Z",
     "detected_at": "2026-10-16T21:09:41.397Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Celta Vigo 2-1 Deportivo Alavés."
    },
    "settlements": [
     {
      "operation_id": "3c9102e6c8fd7b306a6b630ca1b715d70a38b44955f200fb6668e7c43d5c658f",
      "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.9259",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9259,
      "executed_at": "2026-11-07T01:33:30.399Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-018c18c911a4f800d6307976",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-018c18c911a4f800d6307976",
   "match": "Celta Vigo v Deportivo Alavés",
   "match_url": "/football/matches/celta-vigo-vs-deportivo-alaves-2026-10-18/",
   "kickoff": "2026-10-18T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 41.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 12500,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.2500",
   "published_at": "2026-10-15T00:23:56.000Z",
   "recorded_at": "2026-10-16T21:09:41.397Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-018c18c911a4f800d6307976",
    "quote_text": "Plus/Moins de buts, Plus de 2,5 buts",
    "fragment_from": 2822,
    "fragment_to": 2858,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "21434fcf79924e66ed875adfc94b09e1ac44b73124b3f40c6489eeaaab9a03eb",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:23:56.000Z",
    "detected_at": "2026-10-16T21:09:41.397Z",
    "executed_at": "2026-11-07T01:33:28.420Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-34e420ecadfa",
     "display_name": "Celta Vigo — Deportivo Alavés",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-18T14:15:00.000Z",
     "url": "/football/matches/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.2500",
     "our_snapshot_at": "2026-10-16T21:05:56.022Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 12500,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T00:23:56.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:23:56.000Z",
     "detected_at": "2026-10-16T21:09:41.397Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.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 Celta Vigo 2-1 Deportivo Alavés."
    },
    "settlements": [
     {
      "operation_id": "f62c735c909a10c4ba1ee271ae8dfd33f6950b06ddf4c41fe538b6f3ff58b2e3",
      "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.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12500,
      "executed_at": "2026-11-07T01:33:28.420Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/celta-vigo-vs-deportivo-alaves-2026-10-18/",
     "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-40bba74f776a4dcbc582c2f6",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-40bba74f776a4dcbc582c2f6",
   "match": "Osasuna v Real Racing Club",
   "match_url": "/football/matches/osasuna-vs-real-racing-club-2026-10-18/",
   "kickoff": "2026-10-18T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 82.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 13400,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.3400",
   "published_at": "2026-10-15T00:23:55.000Z",
   "recorded_at": "2026-10-15T01:42:39.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-40bba74f776a4dcbc582c2f6",
    "quote_text": "Les deux équipes marquent: Non",
    "fragment_from": 3778,
    "fragment_to": 3808,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/osasuna-vs-racing-santander-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "87e4cd7b4edc24f2d09832c3e9db075534607f550bb89ae787a31ada66cb76b2",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:23:55.000Z",
    "detected_at": "2026-10-15T01:42:39.121Z",
    "executed_at": "2026-11-07T01:10:54.540Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-944cbfe0e3e0",
     "display_name": "Osasuna — Real Racing Club",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-18T12:00:00.000Z",
     "url": "/football/matches/osasuna-vs-real-racing-club-2026-10-18/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.3400",
     "our_snapshot_at": "2026-10-15T01:41:23.784Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 13400,
    "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-15T00:23:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:23:55.000Z",
     "detected_at": "2026-10-15T01:42:39.121Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Osasuna 2-0 Real Racing Club."
    },
    "settlements": [
     {
      "operation_id": "f815ae716b18910bf282b8d8b4f4f5da8fdf186330dc2771d8baa14c90bd9d40",
      "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.3400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13400,
      "executed_at": "2026-11-07T01:10:54.540Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/osasuna-vs-racing-santander-2026-10-18/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-516814f06ddd8a021391686e",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-516814f06ddd8a021391686e",
   "match": "Osasuna v Real Racing Club",
   "match_url": "/football/matches/osasuna-vs-real-racing-club-2026-10-18/",
   "kickoff": "2026-10-18T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 82.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw",
   "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": null,
   "settled_price": "3.6000",
   "published_at": "2026-10-15T00:23:55.000Z",
   "recorded_at": "2026-10-15T01:42:39.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-516814f06ddd8a021391686e",
    "quote_text": "Résultat du match (1X2): Match nul",
    "fragment_from": 3450,
    "fragment_to": 3484,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/osasuna-vs-racing-santander-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "87e4cd7b4edc24f2d09832c3e9db075534607f550bb89ae787a31ada66cb76b2",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:23:55.000Z",
    "detected_at": "2026-10-15T01:42:39.121Z",
    "executed_at": "2026-11-07T01:10:55.313Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-944cbfe0e3e0",
     "display_name": "Osasuna — Real Racing Club",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-18T12:00:00.000Z",
     "url": "/football/matches/osasuna-vs-real-racing-club-2026-10-18/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "3.6000",
     "our_snapshot_at": "2026-10-15T01:41:23.784Z",
     "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-15T00:23:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:23:55.000Z",
     "detected_at": "2026-10-15T01:42:39.121Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Osasuna 2-0 Real Racing Club."
    },
    "settlements": [
     {
      "operation_id": "d03c6952976976524d8659120a16f1be49da3493b34f5d2e5f01bb6170871c21",
      "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.6000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T01:10:55.313Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/osasuna-vs-racing-santander-2026-10-18/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-7669f5158afbc12d5bf283e9",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-7669f5158afbc12d5bf283e9",
   "match": "Lille v Stade Brestois",
   "match_url": "/football/matches/lille-vs-stade-brestois-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 90.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6993",
   "published_at": "2026-10-14T00:24:29.000Z",
   "recorded_at": "2026-10-14T00:29:33.146Z",
   "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.6993",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-7669f5158afbc12d5bf283e9",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 - L'historique des confrontations entre ces deux équipes affiche une moyenne de 2,43 buts par match. Les rencontres récentes entre Lille et Brest ont produit des scores généreux (3-3 et 3-1), et la tendance offensive des deux formations laisse présager un match prolifique au-delà de 2,5 réalisations.",
    "fragment_from": 3265,
    "fragment_to": 3598,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lille-vs-brest-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "976c4aec55e427f74c4c88ee0858fb8a3426e415b76c790cd99e3deee661a21f",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:29.000Z",
    "detected_at": "2026-10-14T00:29:33.146Z",
    "executed_at": "2026-10-15T20:58:12.160Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fcb090a96d57",
     "display_name": "Lille — Stade Brestois",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/lille-vs-stade-brestois-2026-10-17/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6993",
     "our_snapshot_at": "2026-10-14T00:38:09.559Z",
     "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-14T00:24:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:29.000Z",
     "detected_at": "2026-10-14T00:29:33.146Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lille 1-1 Stade Brestois."
    },
    "settlements": [
     {
      "operation_id": "1e24f359866656bbb1416b15449fa31a9733213248d836b6781f96539deb334b",
      "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.6993",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-15T20:58:12.160Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lille-vs-brest-2026-10-17/",
     "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-a9009407a69573a66fade54c",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-a9009407a69573a66fade54c",
   "match": "Lille v Stade Brestois",
   "match_url": "/football/matches/lille-vs-stade-brestois-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 90.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6452,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6452",
   "published_at": "2026-10-14T00:24:29.000Z",
   "recorded_at": "2026-10-14T00:29:33.146Z",
   "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
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-a9009407a69573a66fade54c",
    "quote_text": "Les deux équipes marquent: Oui - Sur les cinq derniers affrontements directs, les deux formations ont trouvé le filet en quatre occasions. Avec 12 buts en six journées, Brest dispose d'une réelle puissance de feu. Même si Lille affiche une défense compacte (4 buts concédés), le potentiel offensif breton peut créer des brèches.",
    "fragment_from": 2935,
    "fragment_to": 3263,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lille-vs-brest-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "976c4aec55e427f74c4c88ee0858fb8a3426e415b76c790cd99e3deee661a21f",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:29.000Z",
    "detected_at": "2026-10-14T00:29:33.146Z",
    "executed_at": "2026-10-15T20:58:13.420Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fcb090a96d57",
     "display_name": "Lille — Stade Brestois",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/lille-vs-stade-brestois-2026-10-17/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6452",
     "our_snapshot_at": "2026-10-14T00:38:09.559Z",
     "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-14T00:24:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:29.000Z",
     "detected_at": "2026-10-14T00:29:33.146Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lille 1-1 Stade Brestois."
    },
    "settlements": [
     {
      "operation_id": "36563055d9c4af5cc4b8cfb4d8608b051fa708ea58182159623c2d84db8556fe",
      "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-15T20:58:13.420Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lille-vs-brest-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-1d2e9126c4fd3f32ce4b5e19",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-1d2e9126c4fd3f32ce4b5e19",
   "match": "RC Strasbourg v Paris Saint-Germain",
   "match_url": "/football/matches/rc-strasbourg-vs-paris-saint-germain-2026-10-17/",
   "kickoff": "2026-10-17T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 86.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4545,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.4545",
   "published_at": "2026-10-14T00:24:27.000Z",
   "recorded_at": "2026-10-14T00:29:32.618Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1d2e9126c4fd3f32ce4b5e19",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 2938,
    "fragment_to": 2969,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/strasbourg-vs-psg-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "579f12e04aa5f8d716649b3103fa125b933c041145128efbc6105b7c7d67e8c8",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:27.000Z",
    "detected_at": "2026-10-14T00:29:32.618Z",
    "executed_at": "2026-11-07T00:32:57.506Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2e5ca9903f14",
     "display_name": "RC Strasbourg — Paris Saint-Germain",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-17T15:15:00.000Z",
     "url": "/football/matches/rc-strasbourg-vs-paris-saint-germain-2026-10-17/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.4545",
     "our_snapshot_at": "2026-10-14T00:38:09.559Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4545,
    "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-14T00:24:27.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:27.000Z",
     "detected_at": "2026-10-14T00:29:32.618Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was RC Strasbourg 1-3 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "ec5f84a2f79757503e3bb9daaac548dc797c91f8a3a316e4f1bffb91a61b5411",
      "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.4545",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4545,
      "executed_at": "2026-11-07T00:32:57.506Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/strasbourg-vs-psg-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-87d63c92c7bf711c4775d476",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-87d63c92c7bf711c4775d476",
   "match": "RC Strasbourg v Paris Saint-Germain",
   "match_url": "/football/matches/rc-strasbourg-vs-paris-saint-germain-2026-10-17/",
   "kickoff": "2026-10-17T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 86.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Paris Saint-Germain",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.4000",
   "published_at": "2026-10-14T00:24:27.000Z",
   "recorded_at": "2026-10-14T00:29:32.618Z",
   "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.4000",
    "result": "Won",
    "points_hundredths": 4000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-87d63c92c7bf711c4775d476",
    "quote_text": "Résultat du match (1X2): PSG.",
    "fragment_from": 2661,
    "fragment_to": 2690,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/strasbourg-vs-psg-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "579f12e04aa5f8d716649b3103fa125b933c041145128efbc6105b7c7d67e8c8",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:27.000Z",
    "detected_at": "2026-10-14T00:29:32.618Z",
    "executed_at": "2026-10-15T16:42:13.842Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2e5ca9903f14",
     "display_name": "RC Strasbourg — Paris Saint-Germain",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-17T15:15:00.000Z",
     "url": "/football/matches/rc-strasbourg-vs-paris-saint-germain-2026-10-17/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Paris Saint-Germain",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.4000",
     "our_snapshot_at": "2026-10-14T00:38:09.559Z",
     "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-14T00:24:27.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:27.000Z",
     "detected_at": "2026-10-14T00:29:32.618Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Paris Saint-Germain",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Paris Saint-Germain"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was RC Strasbourg 1-3 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "20cb4052de959dc6af67c319924ddd215d98939c2c098f6031e6e9c48a22e73d",
      "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": "Paris Saint-Germain",
      "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-15T16:42:13.842Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/strasbourg-vs-psg-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain to win"
   }
  },
  {
   "record_id": "n-a75dbc58c9aecce4c4483ae5",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-a75dbc58c9aecce4c4483ae5",
   "match": "Villarreal v Elche",
   "match_url": "/football/matches/villarreal-vs-elche-2026-10-17/",
   "kickoff": "2026-10-17T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 82.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 13200,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.3200",
   "published_at": "2026-10-14T00:24:37.000Z",
   "recorded_at": "2026-10-14T03:29:34.951Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a75dbc58c9aecce4c4483ae5",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3002,
    "fragment_to": 3033,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/villarreal-vs-elche-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "22ad9df57382550c0dbb7c9daceb541cc7142773e578dfae84fcbf949e16905c",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:37.000Z",
    "detected_at": "2026-10-14T03:29:34.951Z",
    "executed_at": "2026-11-07T00:27:14.155Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f1e8201c1b4c",
     "display_name": "Villarreal — Elche",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-17T14:15:00.000Z",
     "url": "/football/matches/villarreal-vs-elche-2026-10-17/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.3200",
     "our_snapshot_at": "2026-10-14T03:27:13.511Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 13200,
    "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-14T00:24:37.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:37.000Z",
     "detected_at": "2026-10-14T03:29:34.951Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Villarreal 0-0 Elche."
    },
    "settlements": [
     {
      "operation_id": "8121b744d90d310fc05b85d12f7489652790013fdd2256caa69e1ee6e2f6d169",
      "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.3200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13200,
      "executed_at": "2026-11-07T00:27:14.155Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/villarreal-vs-elche-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-e455750fbf3ab9757cadd89e",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-e455750fbf3ab9757cadd89e",
   "match": "Villarreal v Elche",
   "match_url": "/football/matches/villarreal-vs-elche-2026-10-17/",
   "kickoff": "2026-10-17T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 82.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Villarreal",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.4405",
   "published_at": "2026-10-14T00:24:37.000Z",
   "recorded_at": "2026-10-14T03:29:34.951Z",
   "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.4405",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-e455750fbf3ab9757cadd89e",
    "quote_text": "Résultat du match (1X2): Villarreal.",
    "fragment_from": 2719,
    "fragment_to": 2755,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/villarreal-vs-elche-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "22ad9df57382550c0dbb7c9daceb541cc7142773e578dfae84fcbf949e16905c",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:37.000Z",
    "detected_at": "2026-10-14T03:29:34.951Z",
    "executed_at": "2026-10-15T16:39:40.986Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f1e8201c1b4c",
     "display_name": "Villarreal — Elche",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-17T14:15:00.000Z",
     "url": "/football/matches/villarreal-vs-elche-2026-10-17/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Villarreal",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.4405",
     "our_snapshot_at": "2026-10-14T03:27:13.511Z",
     "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-14T00:24:37.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:37.000Z",
     "detected_at": "2026-10-14T03:29:34.951Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Villarreal",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Villarreal"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Villarreal 0-0 Elche."
    },
    "settlements": [
     {
      "operation_id": "afe629082d4ba2c77d8519ad2863f52c11eb624c94d2fc418ff65757b9c9b56b",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Villarreal",
      "decimal_odds": "1.4405",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-15T16:39:40.986Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/villarreal-vs-elche-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Villarreal to win"
   }
  },
  {
   "record_id": "n-df943451f6f6f35b388aa439",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-df943451f6f6f35b388aa439",
   "match": "Espanyol v Atlético Madrid",
   "match_url": "/football/matches/espanyol-vs-atletico-madrid-2026-10-17/",
   "kickoff": "2026-10-17T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 81.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10500,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.0500",
   "published_at": "2026-10-14T00:24:36.000Z",
   "recorded_at": "2026-10-14T02:29:33.969Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-df943451f6f6f35b388aa439",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 4217,
    "fragment_to": 4255,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/espanyol-vs-atletico-madrid-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "7bc41b607e1c57dce993d6b5c269204f8b6708d1b41717aebab03ea1d941b851",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:36.000Z",
    "detected_at": "2026-10-14T02:29:33.969Z",
    "executed_at": "2026-11-06T23:42:43.655Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-bb416d51f376",
     "display_name": "Espanyol — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-17T12:00:00.000Z",
     "url": "/football/matches/espanyol-vs-atletico-madrid-2026-10-17/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.0500",
     "our_snapshot_at": "2026-10-14T02:26:31.754Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 10500,
    "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-14T00:24:36.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:36.000Z",
     "detected_at": "2026-10-14T02:29:33.969Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Espanyol 0-1 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "89319361cf395f775b0e959d811dc4a09487d7eaa5d92c48082817507e50a387",
      "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.0500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10500,
      "executed_at": "2026-11-06T23:42:43.655Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/espanyol-vs-atletico-madrid-2026-10-17/",
     "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-c0ba6cf0b7e9d1cb91d948be",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-c0ba6cf0b7e9d1cb91d948be",
   "match": "Deportivo de A Coruña v Levante UD",
   "match_url": "/football/matches/deportivo-de-a-coruna-vs-levante-ud-2026-10-16/",
   "kickoff": "2026-10-16T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 90.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6993,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6993",
   "published_at": "2026-10-13T00:21:52.000Z",
   "recorded_at": "2026-10-13T00:29:32.446Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c0ba6cf0b7e9d1cb91d948be",
    "quote_text": "Les deux équipes marquent: Oui",
    "fragment_from": 3546,
    "fragment_to": 3576,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-la-coruna-vs-levante-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "bd4373c8953304dafea798fc070bce90a04cff10275f6b2ae06fbeab97e66c77",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:52.000Z",
    "detected_at": "2026-10-13T00:29:32.446Z",
    "executed_at": "2026-11-06T23:34:33.953Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-dc0a316388e1",
     "display_name": "Deportivo de A Coruña — Levante UD",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-16T19:00:00.000Z",
     "url": "/football/matches/deportivo-de-a-coruna-vs-levante-ud-2026-10-16/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6993",
     "our_snapshot_at": "2026-10-13T00:25:20.483Z",
     "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-13T00:21:52.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:52.000Z",
     "detected_at": "2026-10-13T00:29:32.446Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Deportivo de A Coruña 1-1 Levante UD."
    },
    "settlements": [
     {
      "operation_id": "c0f82aa272019955ce9bec19c822d4d197323fbc51155ae9b7754255e324cf6c",
      "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-11-06T23:34:33.953Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-la-coruna-vs-levante-2026-10-16/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-fbeab2664e8ae066d3e0419f",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-fbeab2664e8ae066d3e0419f",
   "match": "Deportivo de A Coruña v Levante UD",
   "match_url": "/football/matches/deportivo-de-a-coruna-vs-levante-ud-2026-10-16/",
   "kickoff": "2026-10-16T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 90.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.8696",
   "published_at": "2026-10-13T00:21:52.000Z",
   "recorded_at": "2026-10-13T00:29:32.446Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-fbeab2664e8ae066d3e0419f",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts",
    "fragment_from": 3272,
    "fragment_to": 3308,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-la-coruna-vs-levante-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "bd4373c8953304dafea798fc070bce90a04cff10275f6b2ae06fbeab97e66c77",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:52.000Z",
    "detected_at": "2026-10-13T00:29:32.446Z",
    "executed_at": "2026-11-06T23:34:35.110Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-dc0a316388e1",
     "display_name": "Deportivo de A Coruña — Levante UD",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-16T19:00:00.000Z",
     "url": "/football/matches/deportivo-de-a-coruna-vs-levante-ud-2026-10-16/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.8696",
     "our_snapshot_at": "2026-10-13T00:25:20.483Z",
     "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-13T00:21:52.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:52.000Z",
     "detected_at": "2026-10-13T00:29:32.446Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Deportivo de A Coruña 1-1 Levante UD."
    },
    "settlements": [
     {
      "operation_id": "52c32d2b2846fa1f182b6d0ee8ae2babe5e1e3fd5659fce8ae4dd36848e2ff76",
      "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": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T23:34:35.110Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-la-coruna-vs-levante-2026-10-16/",
     "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-c93b5de077967cef69192cd1",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-c93b5de077967cef69192cd1",
   "match": "Deportivo de A Coruña v Levante UD",
   "match_url": "/football/matches/deportivo-de-a-coruna-vs-levante-ud-2026-10-16/",
   "kickoff": "2026-10-16T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 90.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Deportivo de A Coruña",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.0800",
   "published_at": "2026-10-13T00:21:52.000Z",
   "recorded_at": "2026-10-13T00:29:32.446Z",
   "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.0800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-c93b5de077967cef69192cd1",
    "quote_text": "Résultat du match (1X2): Victoire de Deportivo La Coruna",
    "fragment_from": 2988,
    "fragment_to": 3044,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-la-coruna-vs-levante-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "bd4373c8953304dafea798fc070bce90a04cff10275f6b2ae06fbeab97e66c77",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:52.000Z",
    "detected_at": "2026-10-13T00:29:32.446Z",
    "executed_at": "2026-10-14T22:34:49.518Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-dc0a316388e1",
     "display_name": "Deportivo de A Coruña — Levante UD",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-16T19:00:00.000Z",
     "url": "/football/matches/deportivo-de-a-coruna-vs-levante-ud-2026-10-16/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Deportivo de A Coruña",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.0800",
     "our_snapshot_at": "2026-10-13T00:25:20.483Z",
     "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-13T00:21:52.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:52.000Z",
     "detected_at": "2026-10-13T00:29:32.446Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Deportivo de A Coruña",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Deportivo de A Coruña"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Deportivo de A Coruña 1-1 Levante UD."
    },
    "settlements": [
     {
      "operation_id": "c04f954c090dda84b6867ccd4dcdc286f3ee575f03b7210452ab5b816ea28cd1",
      "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": "Deportivo de A Coruña",
      "decimal_odds": "2.0800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-14T22:34:49.518Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-la-coruna-vs-levante-2026-10-16/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Deportivo de A Coruña to win"
   }
  },
  {
   "record_id": "n-e81d73dd125bd797fff03a6f",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-e81d73dd125bd797fff03a6f",
   "match": "Levante UD v Sevilla",
   "match_url": "/football/matches/levante-ud-vs-sevilla-2026-10-12/",
   "kickoff": "2026-10-12T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 38.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7874,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.7874",
   "published_at": "2026-10-09T13:24:09.000Z",
   "recorded_at": "2026-10-11T04:29:44.107Z",
   "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.7874",
    "result": "Won",
    "points_hundredths": 7874,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-e81d73dd125bd797fff03a6f",
    "quote_text": "Les deux équipes marquent: Levante a trouvé le chemin des filets dans quatre de ses six derniers matchs tandis que Sevilla a maintenu son efficacité offensive avec 10 buts en sept journées. La vulnérabilité défensive de Levante et la capacité créative de Sevilla suggèrent que les deux formations devraient marquer.",
    "fragment_from": 3360,
    "fragment_to": 3675,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/levante-vs-sevilla-2026-10-12/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "37720a18e038892adb68a5d65ce9db259a9c7c65b9f81b15b7207f87e7206c4e",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:09.000Z",
    "detected_at": "2026-10-11T04:29:44.107Z",
    "executed_at": "2026-10-11T04:35:17.648Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-06bacf89a285",
     "display_name": "Levante UD — Sevilla",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-12T19:00:00.000Z",
     "url": "/football/matches/levante-ud-vs-sevilla-2026-10-12/",
     "scoreline": "3-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.7874",
     "our_snapshot_at": "2026-10-11T04:28:43.950Z",
     "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-09T13:24:09.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:09.000Z",
     "detected_at": "2026-10-11T04:29:44.107Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Levante UD 3-3 Sevilla."
    },
    "settlements": [
     {
      "operation_id": "ba0ea9b5ed15d59a04e71b106f8a1be8e7adf3f74aed679eaee209f97bca0177",
      "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-10-11T04:35:17.648Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/levante-vs-sevilla-2026-10-12/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-d83e463614fa00680c3c32d4",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-d83e463614fa00680c3c32d4",
   "match": "Levante UD v Sevilla",
   "match_url": "/football/matches/levante-ud-vs-sevilla-2026-10-12/",
   "kickoff": "2026-10-12T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 38.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10600,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.0600",
   "published_at": "2026-10-09T13:24:09.000Z",
   "recorded_at": "2026-10-11T04:29:44.107Z",
   "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.7443",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-d83e463614fa00680c3c32d4",
    "quote_text": "Plus/Moins de buts: Sur les cinq dernières confrontations entre les deux équipes, trois ont dépassé la barre des 2,5 buts. La fragilité défensive de Levante combinée à la puissance offensive de Sevilla laisse présager un match riche en réalisations et susceptible de franchir le seuil de 2,5 buts.",
    "fragment_from": 3061,
    "fragment_to": 3358,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/levante-vs-sevilla-2026-10-12/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "37720a18e038892adb68a5d65ce9db259a9c7c65b9f81b15b7207f87e7206c4e",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:09.000Z",
    "detected_at": "2026-10-11T04:29:44.107Z",
    "executed_at": "2026-10-11T04:35:16.473Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-06bacf89a285",
     "display_name": "Levante UD — Sevilla",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-12T19:00:00.000Z",
     "url": "/football/matches/levante-ud-vs-sevilla-2026-10-12/",
     "scoreline": "3-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.0600",
     "our_snapshot_at": "2026-10-11T04:28:43.950Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 10600,
    "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-09T13:24:09.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:09.000Z",
     "detected_at": "2026-10-11T04:29:44.107Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Levante UD 3-3 Sevilla."
    },
    "settlements": [
     {
      "operation_id": "0798475a9e5aef563bb14bb2a220e7ac0c15a4cc487df4daee9cdcfb76d575eb",
      "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.0600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10600,
      "executed_at": "2026-10-11T04:35:16.473Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/levante-vs-sevilla-2026-10-12/",
     "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-5985150bf13854fc86118448",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-5985150bf13854fc86118448",
   "match": "Coventry City v Newcastle United",
   "match_url": "/football/matches/coventry-city-vs-newcastle-united-2026-10-12/",
   "kickoff": "2026-10-12T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 39.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.1400",
   "published_at": "2026-10-09T13:24:07.000Z",
   "recorded_at": "2026-10-11T03:29:48.321Z",
   "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.6993",
    "result": "Won",
    "points_hundredths": 6993,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-5985150bf13854fc86118448",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 3651,
    "fragment_to": 3689,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/coventry-vs-newcastle-2026-10-12/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "c251a58f6cdd8a730400005c957c3eb48337979ec37d3409c446b3f83c3b42e1",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:07.000Z",
    "detected_at": "2026-10-11T03:29:48.321Z",
    "executed_at": "2026-10-11T03:44:52.688Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3bc84f9786dd",
     "display_name": "Coventry City — Newcastle United",
     "competition_name": "Premier League",
     "starts_at": "2026-10-12T19:00:00.000Z",
     "url": "/football/matches/coventry-city-vs-newcastle-united-2026-10-12/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1400",
     "our_snapshot_at": "2026-10-11T03:28:06.872Z",
     "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-09T13:24:07.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:07.000Z",
     "detected_at": "2026-10-11T03:29:48.321Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Coventry City 4-1 Newcastle United."
    },
    "settlements": [
     {
      "operation_id": "eec986ef745ea8a05b7dccbcec76fb12f0794c379ac4a8bf5c959121e3ce2f04",
      "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.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-11T03:44:52.688Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/coventry-vs-newcastle-2026-10-12/",
     "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-5da48b939def42d0be9f303a",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-5da48b939def42d0be9f303a",
   "match": "Coventry City v Newcastle United",
   "match_url": "/football/matches/coventry-city-vs-newcastle-united-2026-10-12/",
   "kickoff": "2026-10-12T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 39.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Newcastle United",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.1500",
   "published_at": "2026-10-09T13:24:07.000Z",
   "recorded_at": "2026-10-11T03:29:48.321Z",
   "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.1500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-5da48b939def42d0be9f303a",
    "quote_text": "Résultat du match (1X2): Newcastle.",
    "fragment_from": 3058,
    "fragment_to": 3093,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/coventry-vs-newcastle-2026-10-12/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "c251a58f6cdd8a730400005c957c3eb48337979ec37d3409c446b3f83c3b42e1",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:07.000Z",
    "detected_at": "2026-10-11T03:29:48.321Z",
    "executed_at": "2026-10-11T03:44:51.742Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3bc84f9786dd",
     "display_name": "Coventry City — Newcastle United",
     "competition_name": "Premier League",
     "starts_at": "2026-10-12T19:00:00.000Z",
     "url": "/football/matches/coventry-city-vs-newcastle-united-2026-10-12/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Newcastle United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1500",
     "our_snapshot_at": "2026-10-11T03:28:06.872Z",
     "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-09T13:24:07.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:07.000Z",
     "detected_at": "2026-10-11T03:29:48.321Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Newcastle United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Newcastle United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Coventry City 4-1 Newcastle United."
    },
    "settlements": [
     {
      "operation_id": "8e3e93c4a75916c3c996da692c326f8d9d0a5b08bb46aa87f59dafd8035221d9",
      "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": "Newcastle United",
      "decimal_odds": "2.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T03:44:51.742Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/coventry-vs-newcastle-2026-10-12/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Newcastle United to win"
   }
  },
  {
   "record_id": "n-08af8f12eee4085c0fbc5ef1",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-08af8f12eee4085c0fbc5ef1",
   "match": "Real Racing Club v Valencia",
   "match_url": "/football/matches/real-racing-club-vs-valencia-2026-10-11/",
   "kickoff": "2026-10-11T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 14.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6995,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6995",
   "published_at": "2026-10-09T13:23:58.000Z",
   "recorded_at": "2026-10-11T04:29:43.796Z",
   "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.6995",
    "result": "Won",
    "points_hundredths": 6995,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-08af8f12eee4085c0fbc5ef1",
    "quote_text": "Plus/Moins de buts: Considérant que Racing a totalisé 12 buts en cinq matchs et Valencia en a encaissé 13 en sept journées, un match avec au moins trois buts au total semble probable. La fragilité défensive des deux équipes soutient cette analyse.",
    "fragment_from": 3395,
    "fragment_to": 3642,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/racing-santander-vs-valencia-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "f400ffdc0f434e66b4efdf333729a5d0e5a553a00df74210cf4f6adfe24d9343",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:23:58.000Z",
    "detected_at": "2026-10-11T04:29:43.796Z",
    "executed_at": "2026-10-11T04:35:20.711Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f793845eecea",
     "display_name": "Real Racing Club — Valencia",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T19:00:00.000Z",
     "url": "/football/matches/real-racing-club-vs-valencia-2026-10-11/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6995",
     "our_snapshot_at": "2026-10-11T04:28:43.950Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6995,
    "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-09T13:23:58.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:23:58.000Z",
     "detected_at": "2026-10-11T04:29:43.796Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.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 Real Racing Club 2-2 Valencia."
    },
    "settlements": [
     {
      "operation_id": "d60f8261478d0c14389afc485d4ed2219e33977959910724181bba1ee446172b",
      "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.6995",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6995,
      "executed_at": "2026-10-11T04:35:20.711Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/racing-santander-vs-valencia-2026-10-11/",
     "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-bb73c8d826d69de001c71f08",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-bb73c8d826d69de001c71f08",
   "match": "Real Racing Club v Valencia",
   "match_url": "/football/matches/real-racing-club-vs-valencia-2026-10-11/",
   "kickoff": "2026-10-11T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 14.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5319,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.5319",
   "published_at": "2026-10-09T13:23:58.000Z",
   "recorded_at": "2026-10-11T04:29:43.796Z",
   "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.5319",
    "result": "Won",
    "points_hundredths": 5319,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-bb73c8d826d69de001c71f08",
    "quote_text": "Les deux équipes marquent: Racing a marqué et encaissé des buts lors de tous ses derniers matchs, tandis que Valencia a démontré une fragilité défensive en concédant 13 buts en sept journées. Malgré le manque de buts de Valencia, la propension offensive de Racing et la vulnérabilité défensive des deux équipes suggèrent un match avec des buts des deux côtés.",
    "fragment_from": 3034,
    "fragment_to": 3393,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/racing-santander-vs-valencia-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "f400ffdc0f434e66b4efdf333729a5d0e5a553a00df74210cf4f6adfe24d9343",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:23:58.000Z",
    "detected_at": "2026-10-11T04:29:43.796Z",
    "executed_at": "2026-10-11T04:35:19.510Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f793845eecea",
     "display_name": "Real Racing Club — Valencia",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T19:00:00.000Z",
     "url": "/football/matches/real-racing-club-vs-valencia-2026-10-11/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.5319",
     "our_snapshot_at": "2026-10-11T04:28:43.950Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5319,
    "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-09T13:23:58.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:23:58.000Z",
     "detected_at": "2026-10-11T04:29:43.796Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Racing Club 2-2 Valencia."
    },
    "settlements": [
     {
      "operation_id": "c566ba924ebb035ef15d9682221ef6208fc514854ba26fb1fe0d9c1c65293960",
      "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.5319",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5319,
      "executed_at": "2026-10-11T04:35:19.510Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/racing-santander-vs-valencia-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-c9fa3dec03636e63e12adef0",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-c9fa3dec03636e63e12adef0",
   "match": "Real Betis v Osasuna",
   "match_url": "/football/matches/real-betis-vs-osasuna-2026-10-11/",
   "kickoff": "2026-10-11T16:30:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 12.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "5-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.0700",
   "published_at": "2026-10-09T13:23:57.000Z",
   "recorded_at": "2026-10-11T04:29:43.192Z",
   "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.7300",
    "result": "Won",
    "points_hundredths": 7300,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-c9fa3dec03636e63e12adef0",
    "quote_text": "Plus/Moins de buts: Moins de 2.5 - Bien que le Real Betis marque régulièrement, l'Osasuna demeure une formation qui concède beaucoup sans pour autant trouver le chemin des filets avec aisance. La domination tactique et technique des locaux devrait déboucher sur une partie maîtrisée plutôt que sur un festival offensif.",
    "fragment_from": 3382,
    "fragment_to": 3701,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-betis-vs-osasuna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "85ab39f0b5372a63c51feaec3f7922d2e65018e529579a18cf1a9d00736c956a",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:23:57.000Z",
    "detected_at": "2026-10-11T04:29:43.192Z",
    "executed_at": "2026-10-11T04:34:40.874Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b421c1106eb1",
     "display_name": "Real Betis — Osasuna",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T16:30:00.000Z",
     "url": "/football/matches/real-betis-vs-osasuna-2026-10-11/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.0700",
     "our_snapshot_at": "2026-10-11T04:28:43.950Z",
     "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-09T13:23:57.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:23:57.000Z",
     "detected_at": "2026-10-11T04:29:43.192Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Real Betis 5-2 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "c12bf071c8aeac8ab0cf3b95c9cec5f8248aef99884e0d68149757fa1be9f8f8",
      "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.0700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T04:34:40.874Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-betis-vs-osasuna-2026-10-11/",
     "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-797f93088e76aed3faf483e6",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-797f93088e76aed3faf483e6",
   "match": "Real Betis v Osasuna",
   "match_url": "/football/matches/real-betis-vs-osasuna-2026-10-11/",
   "kickoff": "2026-10-11T16:30:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 12.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "5-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.9091",
   "published_at": "2026-10-09T13:23:57.000Z",
   "recorded_at": "2026-10-11T04:29:43.192Z",
   "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.8264",
    "result": "Won",
    "points_hundredths": 8264,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-797f93088e76aed3faf483e6",
    "quote_text": "Les deux équipes marquent: Non - Avec 13 buts encaissés en sept rencontres, soit près de deux par match, l'Osasuna offre une défense perméable. Le Real Betis, doté d'une ligne arrière fiable, devrait maîtriser le jeu et réduire les occasions dangereuses des visiteurs, peu inspirés offensivement.",
    "fragment_from": 3084,
    "fragment_to": 3380,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-betis-vs-osasuna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "85ab39f0b5372a63c51feaec3f7922d2e65018e529579a18cf1a9d00736c956a",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:23:57.000Z",
    "detected_at": "2026-10-11T04:29:43.192Z",
    "executed_at": "2026-10-11T04:33:51.105Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b421c1106eb1",
     "display_name": "Real Betis — Osasuna",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T16:30:00.000Z",
     "url": "/football/matches/real-betis-vs-osasuna-2026-10-11/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.9091",
     "our_snapshot_at": "2026-10-11T04:28:43.950Z",
     "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-09T13:23:57.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:23:57.000Z",
     "detected_at": "2026-10-11T04:29:43.192Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Real Betis 5-2 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "1242e89cd9649b2b6bab17aa83ab93df59c6d795b5ced6239550d8413c04c4c9",
      "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": "1.9091",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T04:33:51.105Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-betis-vs-osasuna-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-fb5aee18e58ab1e0e50f4930",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-fb5aee18e58ab1e0e50f4930",
   "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": 9.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.1000",
   "published_at": "2026-10-09T13:24:04.000Z",
   "recorded_at": "2026-10-11T06:29:47.787Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-fb5aee18e58ab1e0e50f4930",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 4044,
    "fragment_to": 4075,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/sassuolo-vs-ac-milan-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "45759e0ebd88cf5e8f3da71bbc5bda575c187f5f98aaf747a582b1ae9266ef40",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:04.000Z",
    "detected_at": "2026-10-11T06:29:47.787Z",
    "executed_at": "2026-11-06T22:08:07.236Z",
    "statement_class": "unpriced",
    "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": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1000",
     "our_snapshot_at": "2026-10-11T06:31:06.676Z",
     "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-09T13:24:04.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:04.000Z",
     "detected_at": "2026-10-11T06:29:47.787Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "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": "f182065ec8bce25a5b0d50d391e9fba1b19ce11a963dd55ccc6031cac80548bf",
      "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.1000",
      "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:08:07.236Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/sassuolo-vs-ac-milan-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-89ce07580ccb831508bd4682",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-89ce07580ccb831508bd4682",
   "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": 9.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: AC Milan",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.8333",
   "published_at": "2026-10-09T13:24:04.000Z",
   "recorded_at": "2026-10-11T06:29:47.787Z",
   "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.8333",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-89ce07580ccb831508bd4682",
    "quote_text": "Résultat du match (1X2): AC Milan.",
    "fragment_from": 3225,
    "fragment_to": 3259,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/sassuolo-vs-ac-milan-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "45759e0ebd88cf5e8f3da71bbc5bda575c187f5f98aaf747a582b1ae9266ef40",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:04.000Z",
    "detected_at": "2026-10-11T06:29:47.787Z",
    "executed_at": "2026-10-11T06:32:19.956Z",
    "statement_class": "unpriced",
    "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": "1X2, match result",
    "outcome_label": "AC Milan",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.8333",
     "our_snapshot_at": "2026-10-11T06:31:06.676Z",
     "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-09T13:24:04.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:04.000Z",
     "detected_at": "2026-10-11T06:29:47.787Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "AC Milan",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: AC Milan"
    },
    "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": "2aec38055aeac0da6b1fb3989b3b1c02b37b728bfbe9cd481e1eba7f26147f52",
      "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": "AC Milan",
      "decimal_odds": "1.8333",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T06:32:19.956Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/sassuolo-vs-ac-milan-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AC Milan to win"
   }
  },
  {
   "record_id": "n-cae9e164faae39eec70d0ead",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-cae9e164faae39eec70d0ead",
   "match": "SC Freiburg v FC Schalke 04",
   "match_url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
   "kickoff": "2026-10-11T15:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 10.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "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": null,
   "settled_price": "2.1450",
   "published_at": "2026-10-09T13:24:00.000Z",
   "recorded_at": "2026-10-11T05:30:58.160Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-cae9e164faae39eec70d0ead",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3581,
    "fragment_to": 3612,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/sc-freiburg-vs-schalke-04-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e05404c72f723cc1036eff0431ba8d08cf8e91442d374fc23199ff30850f318e",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:00.000Z",
    "detected_at": "2026-10-11T05:30:58.160Z",
    "executed_at": "2026-11-06T22:39:22.533Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-40031903677a",
     "display_name": "SC Freiburg — FC Schalke 04",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-11T15:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1450",
     "our_snapshot_at": "2026-10-11T05:30:15.310Z",
     "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-09T13:24:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:00.000Z",
     "detected_at": "2026-10-11T05:30:58.160Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was SC Freiburg 2-1 FC Schalke 04."
    },
    "settlements": [
     {
      "operation_id": "c0a14c4c5e3c237ff05d05185064f0bf7afea7bb84744f54a8dbc29c84f1c06b",
      "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.1450",
      "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:39:22.533Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/sc-freiburg-vs-schalke-04-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-5eb50c03c838df8d63f3fdc6",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-5eb50c03c838df8d63f3fdc6",
   "match": "Liverpool v Manchester City",
   "match_url": "/football/matches/liverpool-vs-manchester-city-2026-10-11/",
   "kickoff": "2026-10-11T15:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 13.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.6000",
   "published_at": "2026-10-09T13:13:00.000Z",
   "recorded_at": "2026-10-11T02:30:45.728Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5eb50c03c838df8d63f3fdc6",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3667,
    "fragment_to": 3704,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/liverpool-vs-manchester-city-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "05446fb59ac3ad5e09471b296ea187ec035c00941261e31f7bc49473b095bb85",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:00.000Z",
    "detected_at": "2026-10-11T02:30:45.728Z",
    "executed_at": "2026-10-22T12:49:06.453Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-890891f7d4b9",
     "display_name": "Liverpool — Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T15:30:00.000Z",
     "url": "/football/matches/liverpool-vs-manchester-city-2026-10-11/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.6000",
     "our_snapshot_at": "2026-10-11T02:30:37.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6000,
    "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-09T13:13:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:00.000Z",
     "detected_at": "2026-10-11T02:30:45.728Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Liverpool 0-3 Manchester City."
    },
    "settlements": [
     {
      "operation_id": "a7926293b95b03162c5b2714308920b544ffbb34e120007f770c60e0e3ce2593",
      "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.6000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6000,
      "executed_at": "2026-10-22T12:49:06.453Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/liverpool-vs-manchester-city-2026-10-11/",
     "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-22c6984111985bbd0a58b701",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-22c6984111985bbd0a58b701",
   "match": "Liverpool v Manchester City",
   "match_url": "/football/matches/liverpool-vs-manchester-city-2026-10-11/",
   "kickoff": "2026-10-11T15:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 13.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "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": null,
   "settled_price": "1.5000",
   "published_at": "2026-10-09T13:13:00.000Z",
   "recorded_at": "2026-10-11T02:30:45.728Z",
   "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.5000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-22c6984111985bbd0a58b701",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3367,
    "fragment_to": 3398,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/liverpool-vs-manchester-city-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "05446fb59ac3ad5e09471b296ea187ec035c00941261e31f7bc49473b095bb85",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:00.000Z",
    "detected_at": "2026-10-11T02:30:45.728Z",
    "executed_at": "2026-10-11T03:28:05.722Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-890891f7d4b9",
     "display_name": "Liverpool — Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T15:30:00.000Z",
     "url": "/football/matches/liverpool-vs-manchester-city-2026-10-11/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.5000",
     "our_snapshot_at": "2026-10-11T02:27:09.249Z",
     "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-09T13:13:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:00.000Z",
     "detected_at": "2026-10-11T02:30:45.728Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Liverpool 0-3 Manchester City."
    },
    "settlements": [
     {
      "operation_id": "937a36279a46c11ca4591ecc2d5eb7b4b744c7cdeda4f6cd9a34ff5ce8a8fb57",
      "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.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-11T03:28:05.722Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/liverpool-vs-manchester-city-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-fdfeee3826b6242f2764089a",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-fdfeee3826b6242f2764089a",
   "match": "Liverpool v Manchester City",
   "match_url": "/football/matches/liverpool-vs-manchester-city-2026-10-11/",
   "kickoff": "2026-10-11T15:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": 13.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw",
   "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": null,
   "settled_price": "3.6500",
   "published_at": "2026-10-09T13:13:00.000Z",
   "recorded_at": "2026-10-11T02:30:45.728Z",
   "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": "Won",
    "points_hundredths": 12500,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-fdfeee3826b6242f2764089a",
    "quote_text": "Résultat du match (1X2): Match nul.",
    "fragment_from": 2921,
    "fragment_to": 2956,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/liverpool-vs-manchester-city-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "05446fb59ac3ad5e09471b296ea187ec035c00941261e31f7bc49473b095bb85",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:00.000Z",
    "detected_at": "2026-10-11T02:30:45.728Z",
    "executed_at": "2026-10-11T03:28:05.660Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-890891f7d4b9",
     "display_name": "Liverpool — Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T15:30:00.000Z",
     "url": "/football/matches/liverpool-vs-manchester-city-2026-10-11/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "3.6500",
     "our_snapshot_at": "2026-10-11T02:27:09.249Z",
     "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-09T13:13:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:00.000Z",
     "detected_at": "2026-10-11T02:30:45.728Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Liverpool 0-3 Manchester City."
    },
    "settlements": [
     {
      "operation_id": "16bce3d9a0f8efc70a2d63a4da943bc0d589eef202a592d17d9718d2feaefc7d",
      "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.6500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T03:28:05.660Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/liverpool-vs-manchester-city-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-67671e2fc9199479f6ac3878",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-67671e2fc9199479f6ac3878",
   "match": "Stade Rennais v Auxerre",
   "match_url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
   "kickoff": "2026-10-11T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 13.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.1600",
   "published_at": "2026-10-09T13:12:50.000Z",
   "recorded_at": "2026-10-11T01:51:01.946Z",
   "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.6494",
    "result": "Won",
    "points_hundredths": 6494,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-67671e2fc9199479f6ac3878",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3028,
    "fragment_to": 3059,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-auxerre-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "372786821a407e08d68a181a0fbb5e6deee2648c2f5de25f521ccaff98cb31ec",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:50.000Z",
    "detected_at": "2026-10-11T01:51:01.946Z",
    "executed_at": "2026-10-11T02:13:02.608Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8736de637615",
     "display_name": "Stade Rennais — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T15:15:00.000Z",
     "url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1600",
     "our_snapshot_at": "2026-10-11T01:57:55.501Z",
     "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-09T13:12:50.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:50.000Z",
     "detected_at": "2026-10-11T01:51:01.946Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Stade Rennais 4-1 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "b067d87edfd54d034f8fb6bf621d22c475332157b1b4220dceb7b7a25a923b4b",
      "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.1600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T02:13:02.608Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-auxerre-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-d92be3cb58403302efd7ddcf",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-d92be3cb58403302efd7ddcf",
   "match": "Stade Rennais v Auxerre",
   "match_url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
   "kickoff": "2026-10-11T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 13.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.5800",
   "published_at": "2026-10-09T13:12:50.000Z",
   "recorded_at": "2026-10-11T01:51:01.946Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": {
    "at": "2026-10-14T02:01:02.939Z",
    "field": "line sign",
    "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick had not been executed. It is now assessed under the publ",
    "version": 2,
    "url": "/corrections/#c-b39fe511c931",
    "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
   },
   "evidence": {
    "observation_id": "n-d92be3cb58403302efd7ddcf",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 2770,
    "fragment_to": 2808,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-auxerre-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "372786821a407e08d68a181a0fbb5e6deee2648c2f5de25f521ccaff98cb31ec",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:50.000Z",
    "detected_at": "2026-10-11T01:51:01.946Z",
    "executed_at": "2026-10-22T12:28:59.307Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8736de637615",
     "display_name": "Stade Rennais — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T15:15:00.000Z",
     "url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.5800",
     "our_snapshot_at": "2026-10-11T01: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-09T13:12:50.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:50.000Z",
     "detected_at": "2026-10-11T01:51:01.946Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Stade Rennais 4-1 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "e2fb11a63efd62b9e3f837dc48532c96a44b165ec8b2a9f6ef7597cddb8b5d79",
      "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.5800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:28:59.307Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [
     {
      "at": "2026-10-14T02:01:02.939Z",
      "field_name": "line sign",
      "was": "Over/Under −2.5 goals · under −2.5",
      "now": "Over/Under 2.5 goals · under 2.5",
      "cause": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick had not been executed. It is now assessed under the published method."
     }
    ],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-auxerre-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": {
     "at": "2026-10-14T02:01:02.939Z",
     "field": "line sign",
     "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick had not been executed. It is now assessed under the publ",
     "version": 2,
     "url": "/corrections/#c-b39fe511c931",
     "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
    },
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-c1b7ea2f97f79e577cf87d1f",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-c1b7ea2f97f79e577cf87d1f",
   "match": "Stade Rennais v Auxerre",
   "match_url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
   "kickoff": "2026-10-11T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 13.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: Stade Rennais",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4202,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.4202",
   "published_at": "2026-10-09T13:12:50.000Z",
   "recorded_at": "2026-10-11T01:51:01.946Z",
   "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.4202",
    "result": "Won",
    "points_hundredths": 4202,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-c1b7ea2f97f79e577cf87d1f",
    "quote_text": "Résultat du match (1X2): Victoire de Rennes.",
    "fragment_from": 2520,
    "fragment_to": 2564,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-auxerre-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "372786821a407e08d68a181a0fbb5e6deee2648c2f5de25f521ccaff98cb31ec",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:50.000Z",
    "detected_at": "2026-10-11T01:51:01.946Z",
    "executed_at": "2026-10-11T02:13:02.581Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8736de637615",
     "display_name": "Stade Rennais — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T15:15:00.000Z",
     "url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Stade Rennais",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.4202",
     "our_snapshot_at": "2026-10-11T01:57:55.501Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4202,
    "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-09T13:12:50.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:50.000Z",
     "detected_at": "2026-10-11T01:51:01.946Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Stade Rennais",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Stade Rennais"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Stade Rennais 4-1 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "e24686fe8fcec281eff4e5e8e8ea0f1534dcf4f911ec996fa9d07c901cdf3949",
      "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": "Stade Rennais",
      "decimal_odds": "1.4202",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4202,
      "executed_at": "2026-10-11T02:13:02.581Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/rennes-vs-auxerre-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stade Rennais to win"
   }
  },
  {
   "record_id": "n-7176bc5d4ace8c5f9b57a5f3",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-7176bc5d4ace8c5f9b57a5f3",
   "match": "Lecce v Bologna",
   "match_url": "/football/matches/lecce-vs-bologna-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 6.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.1000",
   "published_at": "2026-10-09T13:24:03.000Z",
   "recorded_at": "2026-10-11T06:29:47.002Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7176bc5d4ace8c5f9b57a5f3",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3862,
    "fragment_to": 3899,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lecce-vs-bologna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e95f7683b191f829147083e169d00287936d054184de394c04a9ff3d922aa7af",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:03.000Z",
    "detected_at": "2026-10-11T06:29:47.002Z",
    "executed_at": "2026-11-06T22:41:00.426Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-12343692d377",
     "display_name": "Lecce — Bologna",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/lecce-vs-bologna-2026-10-11/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1000",
     "our_snapshot_at": "2026-10-11T06:31:06.676Z",
     "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-09T13:24:03.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:03.000Z",
     "detected_at": "2026-10-11T06:29:47.002Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lecce 1-2 Bologna."
    },
    "settlements": [
     {
      "operation_id": "4f88a14c32df7f58b46781259d9dca469e3bbcbe768ab6e5939971362a1316bc",
      "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.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-11-06T22:41:00.426Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lecce-vs-bologna-2026-10-11/",
     "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-8101f56cd27734af10584297",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-8101f56cd27734af10584297",
   "match": "Lecce v Bologna",
   "match_url": "/football/matches/lecce-vs-bologna-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 6.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8772,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.8772",
   "published_at": "2026-10-09T13:24:03.000Z",
   "recorded_at": "2026-10-11T06:29:47.002Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8101f56cd27734af10584297",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3493,
    "fragment_to": 3524,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lecce-vs-bologna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e95f7683b191f829147083e169d00287936d054184de394c04a9ff3d922aa7af",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:03.000Z",
    "detected_at": "2026-10-11T06:29:47.002Z",
    "executed_at": "2026-11-06T22:41:01.283Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-12343692d377",
     "display_name": "Lecce — Bologna",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/lecce-vs-bologna-2026-10-11/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.8772",
     "our_snapshot_at": "2026-10-11T06:31:06.676Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 8772,
    "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-09T13:24:03.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:03.000Z",
     "detected_at": "2026-10-11T06:29:47.002Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lecce 1-2 Bologna."
    },
    "settlements": [
     {
      "operation_id": "867394924782c778ccbd2614eefc139e0f3756b97f44d1e1303d7b8b7e5c4368",
      "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.8772",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8772,
      "executed_at": "2026-11-06T22:41:01.283Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lecce-vs-bologna-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-d4ae2d36741751e860b034ea",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-d4ae2d36741751e860b034ea",
   "match": "Lecce v Bologna",
   "match_url": "/football/matches/lecce-vs-bologna-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 6.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Lecce",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "4.2000",
   "published_at": "2026-10-09T13:24:03.000Z",
   "recorded_at": "2026-10-11T06:29:47.002Z",
   "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.9524",
    "result": "Won",
    "points_hundredths": 9524,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-d4ae2d36741751e860b034ea",
    "quote_text": "Résultat du match (1X2): Lecce.",
    "fragment_from": 3089,
    "fragment_to": 3120,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lecce-vs-bologna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e95f7683b191f829147083e169d00287936d054184de394c04a9ff3d922aa7af",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:03.000Z",
    "detected_at": "2026-10-11T06:29:47.002Z",
    "executed_at": "2026-10-11T06:31:41.341Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-12343692d377",
     "display_name": "Lecce — Bologna",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/lecce-vs-bologna-2026-10-11/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Lecce",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "4.2000",
     "our_snapshot_at": "2026-10-11T06:31:06.676Z",
     "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-09T13:24:03.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:03.000Z",
     "detected_at": "2026-10-11T06:29:47.002Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Lecce",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Lecce"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lecce 1-2 Bologna."
    },
    "settlements": [
     {
      "operation_id": "1423f6a1b27bf46789d5ab65ce4b7cdeaa6b5a85b12882de973c706f0bed635a",
      "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": "Lecce",
      "decimal_odds": "4.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T06:31:41.341Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lecce-vs-bologna-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lecce to win"
   }
  },
  {
   "record_id": "n-13df79af5d1d67921e1f021b",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-13df79af5d1d67921e1f021b",
   "match": "Crystal Palace v Nottingham Forest",
   "match_url": "/football/matches/crystal-palace-vs-nottingham-forest-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 10.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.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": null,
   "settled_price": "1.8893",
   "published_at": "2026-10-09T13:12:58.000Z",
   "recorded_at": "2026-10-11T02:30:45.106Z",
   "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.8893",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": {
    "at": "2026-10-14T02:01:04.179Z",
    "field": "line sign",
    "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick had not been executed. It is now assessed under the publ",
    "version": 2,
    "url": "/corrections/#c-b39fe511c931",
    "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
   },
   "evidence": {
    "observation_id": "n-13df79af5d1d67921e1f021b",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 3577,
    "fragment_to": 3615,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "1bd5571e3c7fd43eebf62a8745235f881701c65345480242c5a7af5327137846",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:58.000Z",
    "detected_at": "2026-10-11T02:30:45.106Z",
    "executed_at": "2026-10-14T02:14:19.252Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-83453d98f561",
     "display_name": "Crystal Palace — Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.8893",
     "our_snapshot_at": "2026-10-11T02:27:09.249Z",
     "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-09T13:12:58.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:58.000Z",
     "detected_at": "2026-10-11T02:30:45.106Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.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 Crystal Palace 3-1 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "a578d0b50da4e4042bf6c13d335d507ada0b87d49808418078221aed96f00cd0",
      "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.8893",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-14T02:14:19.252Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [
     {
      "at": "2026-10-14T02:01:04.179Z",
      "field_name": "line sign",
      "was": "Over/Under −2.5 goals · under −2.5",
      "now": "Over/Under 2.5 goals · under 2.5",
      "cause": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick had not been executed. It is now assessed under the published method."
     }
    ],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": {
     "at": "2026-10-14T02:01:04.179Z",
     "field": "line sign",
     "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick had not been executed. It is now assessed under the publ",
     "version": 2,
     "url": "/corrections/#c-b39fe511c931",
     "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
    },
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-34b69c52b2cdd70591990803",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-34b69c52b2cdd70591990803",
   "match": "Crystal Palace v Nottingham Forest",
   "match_url": "/football/matches/crystal-palace-vs-nottingham-forest-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 10.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "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": null,
   "settled_price": "2.1000",
   "published_at": "2026-10-09T13:12:58.000Z",
   "recorded_at": "2026-10-11T02:30:45.106Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6757",
    "result": "Won",
    "points_hundredths": 6757,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-34b69c52b2cdd70591990803",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3227,
    "fragment_to": 3258,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "1bd5571e3c7fd43eebf62a8745235f881701c65345480242c5a7af5327137846",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:58.000Z",
    "detected_at": "2026-10-11T02:30:45.106Z",
    "executed_at": "2026-10-11T03:25:53.770Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-83453d98f561",
     "display_name": "Crystal Palace — Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.1000",
     "our_snapshot_at": "2026-10-11T02:27:09.249Z",
     "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-09T13:12:58.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:58.000Z",
     "detected_at": "2026-10-11T02:30:45.106Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Crystal Palace 3-1 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "64b6a19c0507bd83473eee45d0f9325511fda593ecdbdeee897f16fc5b8b078f",
      "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.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-11T03:25:53.770Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-e1d2f11ec319d5e2c96a192a",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-e1d2f11ec319d5e2c96a192a",
   "match": "Crystal Palace v Nottingham Forest",
   "match_url": "/football/matches/crystal-palace-vs-nottingham-forest-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 10.5,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Nottingham Forest",
   "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": null,
   "settled_price": "1.4325",
   "published_at": "2026-10-09T13:12:58.000Z",
   "recorded_at": "2026-10-11T02:30:45.106Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e1d2f11ec319d5e2c96a192a",
    "quote_text": "Double chance: Nottingham Forest ou match nul.",
    "fragment_from": 2948,
    "fragment_to": 2994,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "1bd5571e3c7fd43eebf62a8745235f881701c65345480242c5a7af5327137846",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:58.000Z",
    "detected_at": "2026-10-11T02:30:45.106Z",
    "executed_at": "2026-10-11T03:25:56.277Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-83453d98f561",
     "display_name": "Crystal Palace — Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Nottingham Forest",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.4325",
     "our_snapshot_at": "2026-10-11T02:27:09.249Z",
     "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-09T13:12:58.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:58.000Z",
     "detected_at": "2026-10-11T02:30:45.106Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "draw or Nottingham Forest",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Nottingham Forest"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Crystal Palace 3-1 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "411b4112c638eb65469d1aec2cce3fc7e0d1679c63201fb784fabd5c23b95e4a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Nottingham Forest",
      "decimal_odds": "1.4325",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T03:25:56.277Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/crystal-palace-vs-nottingham-forest-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Nottingham Forest"
   }
  },
  {
   "record_id": "n-7f8aea37a6892a1a8c1f04af",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-7f8aea37a6892a1a8c1f04af",
   "match": "Elche v Celta Vigo",
   "match_url": "/football/matches/elche-vs-celta-vigo-2026-10-11/",
   "kickoff": "2026-10-11T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 8.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7870,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.7870",
   "published_at": "2026-10-09T13:13:01.000Z",
   "recorded_at": "2026-10-11T03:29:48.673Z",
   "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.7870",
    "result": "Won",
    "points_hundredths": 7870,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-7f8aea37a6892a1a8c1f04af",
    "quote_text": "Plus/Moins de buts Moins de 2.5: Les deux formations rencontrent des difficultés pour produire un football offensif fluide.",
    "fragment_from": 3809,
    "fragment_to": 3932,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/elche-vs-celta-vigo-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e2dc74bab28525f3d7b37332bb25c9543f6b06d1524851124ddbba475d3a6bab",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:01.000Z",
    "detected_at": "2026-10-11T03:29:48.673Z",
    "executed_at": "2026-10-11T03:42:57.595Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7f51e7225c5b",
     "display_name": "Elche — Celta Vigo",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T12:00:00.000Z",
     "url": "/football/matches/elche-vs-celta-vigo-2026-10-11/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.7870",
     "our_snapshot_at": "2026-10-11T03:28:06.872Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7870,
    "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-09T13:13:01.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:01.000Z",
     "detected_at": "2026-10-11T03:29:48.673Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Elche 0-0 Celta Vigo."
    },
    "settlements": [
     {
      "operation_id": "21e51cd9055b020bdf815d40913645c705184524e96511021f7401ce4bd6bb7e",
      "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.7870",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7870,
      "executed_at": "2026-10-11T03:42:57.595Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/elche-vs-celta-vigo-2026-10-11/",
     "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-26300c163c8310acf8af6c3e",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-26300c163c8310acf8af6c3e",
   "match": "Como v AS Roma",
   "match_url": "/football/matches/como-vs-as-roma-2026-10-11/",
   "kickoff": "2026-10-11T10:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 5.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.5064",
   "published_at": "2026-10-09T13:24:01.000Z",
   "recorded_at": "2026-10-11T05:30:58.438Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-26300c163c8310acf8af6c3e",
    "quote_text": "Les deux équipes marquent.",
    "fragment_from": 2977,
    "fragment_to": 3003,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/como-vs-roma-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "6117d65f20845aed805e61cae8efe02a498193121c6769a6fa27a0ce8d6330de",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:01.000Z",
    "detected_at": "2026-10-11T05:30:58.438Z",
    "executed_at": "2026-11-06T22:16:35.445Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7674778c71d5",
     "display_name": "Como — AS Roma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T10:30:00.000Z",
     "url": "/football/matches/como-vs-as-roma-2026-10-11/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.5064",
     "our_snapshot_at": "2026-10-11T05:30:15.310Z",
     "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-09T13:24:01.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:01.000Z",
     "detected_at": "2026-10-11T05:30:58.438Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Como 0-0 AS Roma."
    },
    "settlements": [
     {
      "operation_id": "5aa16d65ac55f28fdf4483fa4127f8a603eec37166e13f57665967c95a754734",
      "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.5064",
      "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:16:35.445Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/como-vs-roma-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-9bde795be3d6ba6e89134962",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-9bde795be3d6ba6e89134962",
   "match": "Deportivo Alavés v Málaga CF",
   "match_url": "/football/matches/deportivo-alaves-vs-malaga-cf-2026-10-23/",
   "kickoff": "2026-10-23T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 90.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T00:23:30.000Z",
   "recorded_at": "2026-10-20T00:29:41.546Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9bde795be3d6ba6e89134962",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 3425,
    "fragment_to": 3463,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-alaves-vs-malaga-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "4f1c04b15da0c596926117ee7c75832fcc6f69cd2d115c56e9ae369f43e3ebb4",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:30.000Z",
    "detected_at": "2026-10-20T00:29:41.546Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a764552527dd",
     "display_name": "Deportivo Alavés — Málaga CF",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-23T19:00:00.000Z",
     "url": "/football/matches/deportivo-alaves-vs-malaga-cf-2026-10-23/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_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-20T00:23:30.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:30.000Z",
     "detected_at": "2026-10-20T00:29:41.546Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Deportivo Alavés 1-1 Málaga CF."
    },
    "settlements": [
     {
      "operation_id": "f76e603b92f3adc416524c1861f3e2f75a3fe79459c25a1e7230e89846aea61b",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-alaves-vs-malaga-2026-10-23/",
     "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-34ab2de0ab2e080171495d23",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-34ab2de0ab2e080171495d23",
   "match": "Deportivo Alavés v Málaga CF",
   "match_url": "/football/matches/deportivo-alaves-vs-malaga-cf-2026-10-23/",
   "kickoff": "2026-10-23T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 90.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "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-20T00:23:30.000Z",
   "recorded_at": "2026-10-20T00:29:41.546Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-34ab2de0ab2e080171495d23",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3138,
    "fragment_to": 3169,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-alaves-vs-malaga-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "4f1c04b15da0c596926117ee7c75832fcc6f69cd2d115c56e9ae369f43e3ebb4",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:30.000Z",
    "detected_at": "2026-10-20T00:29:41.546Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a764552527dd",
     "display_name": "Deportivo Alavés — Málaga CF",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-23T19:00:00.000Z",
     "url": "/football/matches/deportivo-alaves-vs-malaga-cf-2026-10-23/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_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-20T00:23:30.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:30.000Z",
     "detected_at": "2026-10-20T00:29:41.546Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Deportivo Alavés 1-1 Málaga CF."
    },
    "settlements": [
     {
      "operation_id": "856ec8ad69096dad17613d8ca2df80b12468ff0499e75e30f89248a1ffbaf2a4",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-alaves-vs-malaga-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-9701fe8cb7ebc9185b4e6704",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-9701fe8cb7ebc9185b4e6704",
   "match": "Deportivo Alavés v Málaga CF",
   "match_url": "/football/matches/deportivo-alaves-vs-malaga-cf-2026-10-23/",
   "kickoff": "2026-10-23T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 90.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Deportivo Alavés",
   "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-20T00:23:30.000Z",
   "recorded_at": "2026-10-20T00:29:41.546Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9701fe8cb7ebc9185b4e6704",
    "quote_text": "Résultat du match (1X2): Victoire Deportivo Alaves.",
    "fragment_from": 2798,
    "fragment_to": 2849,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-alaves-vs-malaga-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "4f1c04b15da0c596926117ee7c75832fcc6f69cd2d115c56e9ae369f43e3ebb4",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:30.000Z",
    "detected_at": "2026-10-20T00:29:41.546Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a764552527dd",
     "display_name": "Deportivo Alavés — Málaga CF",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-23T19:00:00.000Z",
     "url": "/football/matches/deportivo-alaves-vs-malaga-cf-2026-10-23/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Deportivo Alavés",
    "odds_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-20T00:23:30.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:30.000Z",
     "detected_at": "2026-10-20T00:29:41.546Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Deportivo Alavés",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Deportivo Alavés"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Deportivo Alavés 1-1 Málaga CF."
    },
    "settlements": [
     {
      "operation_id": "188d3834edc3ba487bfb244fd64f01fbe6c3afd34a14b4aa432e56790fba200d",
      "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": "Deportivo Alavés",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/deportivo-alaves-vs-malaga-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Deportivo Alavés to win"
   }
  },
  {
   "record_id": "n-2e596898ef6c3df472300fcd",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/9/#pick-n-2e596898ef6c3df472300fcd",
   "match": "Ipswich Town v Nottingham Forest",
   "match_url": "/football/matches/ipswich-town-vs-nottingham-forest-2026-10-23/",
   "kickoff": "2026-10-23T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 90.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-20T00:23:29.000Z",
   "recorded_at": "2026-10-20T00:29:40.958Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2e596898ef6c3df472300fcd",
    "quote_text": "Aucun but encaissé: Non. Nottingham Forest a marqué uniquement 5 buts en 7 journées et n'a pas encore trouvé le chemin des filets au City Ground cette saison.",
    "fragment_from": 3078,
    "fragment_to": 3236,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/ipswich-vs-nottingham-forest-2026-10-23/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "9eabe4f259834db79cf8680db02f79a793d97ff886a685662f90af0ae0d1f7f8",
     "material_removed": false
    },
    "published_at": "2026-10-20T00:23:29.000Z",
    "detected_at": "2026-10-20T00:29:40.958Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-f5f96a4e7aba",
     "display_name": "Ipswich Town — Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2026-10-23T19:00:00.000Z",
     "url": "/football/matches/ipswich-town-vs-nottingham-forest-2026-10-23/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_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-20T00:23:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-20T00:23:29.000Z",
     "detected_at": "2026-10-20T00:29:40.958Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Ipswich Town 1-1 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "919ae8e3e88df1103cba77bd6061de86c229f5d1a77bf08f4c0407076de1c523",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/ipswich-vs-nottingham-forest-2026-10-23/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-c668c3289ba62b58ffa71185",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-c668c3289ba62b58ffa71185",
   "match": "FC Bayern München v Arsenal",
   "match_url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 90.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T00:22:26.000Z",
   "recorded_at": "2026-10-18T00:29:33.269Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c668c3289ba62b58ffa71185",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 2957,
    "fragment_to": 2995,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bayern-munich-vs-arsenal-2026-10-21/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "879fd86431b0738dc840e304cf11417e854ce788c34dfab28ceb1afac2320077",
     "material_removed": false
    },
    "published_at": "2026-10-18T00:22:26.000Z",
    "detected_at": "2026-10-18T00:29:33.269Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-9b50ee5dca05",
     "display_name": "FC Bayern München — Arsenal",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/fc-bayern-munchen-vs-arsenal-2026-10-21/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_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-18T00:22:26.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-18T00:22:26.000Z",
     "detected_at": "2026-10-18T00:29:33.269Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was FC Bayern München 2-2 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "0f006d0a2f747c5bb81821aed35e92d66dd799e52dfe8ebefcbeb98b475e7069",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bayern-munich-vs-arsenal-2026-10-21/",
     "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-8eadfeb246985b4b69713395",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-8eadfeb246985b4b69713395",
   "match": "Getafe v Rayo Vallecano",
   "match_url": "/football/matches/getafe-vs-rayo-vallecano-2026-10-19/",
   "kickoff": "2026-10-19T19:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 48.3,
   "market_code": "player_to_score",
   "author_said": "Player to score: Sergio Camello to score",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T00:22:28.000Z",
   "recorded_at": "2026-10-17T18:39:36.328Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8eadfeb246985b4b69713395",
    "quote_text": "Buteur à tout moment: Sergio Camello - Avec 7 réalisations au compteur cette saison, l'avant-centre du Rayo traverse une période de grande forme. Face à une défense getafienne ayant encaissé 10 buts en 8 matchs, Camello représente le danger offensif majeur de cette affiche.",
    "fragment_from": 3418,
    "fragment_to": 3692,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/getafe-vs-rayo-vallecano-2026-10-19/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "3dc19ddba9b65a601c7b908162efe970d4eccf88233ea41edace477999208736",
     "material_removed": false
    },
    "published_at": "2026-10-16T00:22:28.000Z",
    "detected_at": "2026-10-17T18:39:36.328Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-0565e66356f7",
     "display_name": "Getafe — Rayo Vallecano",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-19T19:00:00.000Z",
     "url": "/football/matches/getafe-vs-rayo-vallecano-2026-10-19/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Sergio Camello to score",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-16T00:22:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-16T00:22:28.000Z",
     "detected_at": "2026-10-17T18:39:36.328Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Sergio Camello to score",
     "author_odds": null,
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Sergio Camello to score"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost — Sergio Camello scored 0 goals; the final score was Getafe 1-1 Rayo Vallecano."
    },
    "settlements": [
     {
      "operation_id": "4606126996f96ca25fe84c0784d5884f0c53e51c12a21c697f0c212e392b8e28",
      "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": "Sergio Camello to score",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/getafe-vs-rayo-vallecano-2026-10-19/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sergio Camello to score"
   }
  },
  {
   "record_id": "n-f4a1bc7fccb124aa8e4b4e03",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-f4a1bc7fccb124aa8e4b4e03",
   "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": 45.6,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-16T00:22:30.000Z",
   "recorded_at": "2026-10-17T21:09:40.976Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f4a1bc7fccb124aa8e4b4e03",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 2924,
    "fragment_to": 2955,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/parma-vs-torino-2026-10-19/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e7f265aa841f6ac23adb57d13cb30a936455f9aefa91be71ed63a99079d43bdd",
     "material_removed": false
    },
    "published_at": "2026-10-16T00:22:30.000Z",
    "detected_at": "2026-10-17T21:09:40.976Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": 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-16T00:22:30.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-16T00:22:30.000Z",
     "detected_at": "2026-10-17T21:09:40.976Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Parma 0-3 Torino."
    },
    "settlements": [
     {
      "operation_id": "f05b8d544394cbca88d25f3c59ea818ec42c10e15606073e765b00e1dd84be96",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/parma-vs-torino-2026-10-19/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-7e75ad4b44e27bf3887f525c",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-7e75ad4b44e27bf3887f525c",
   "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": 45.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-16T00:22:30.000Z",
   "recorded_at": "2026-10-17T21:09:40.976Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7e75ad4b44e27bf3887f525c",
    "quote_text": "Résultat du match (1X2): Nul.",
    "fragment_from": 2654,
    "fragment_to": 2683,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/parma-vs-torino-2026-10-19/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e7f265aa841f6ac23adb57d13cb30a936455f9aefa91be71ed63a99079d43bdd",
     "material_removed": false
    },
    "published_at": "2026-10-16T00:22:30.000Z",
    "detected_at": "2026-10-17T21:09:40.976Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "1X2, match result",
    "outcome_label": "draw",
    "odds_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-16T00:22:30.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-16T00:22:30.000Z",
     "detected_at": "2026-10-17T21:09:40.976Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw"
    },
    "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": "d97afe5fff462bc7d19459510343c18840870183f7a15dae117d45e24d666f41",
      "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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/parma-vs-torino-2026-10-19/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-aef44c884c4ea85143e02b69",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-aef44c884c4ea85143e02b69",
   "match": "Bayer 04 Leverkusen v SC Freiburg",
   "match_url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
   "kickoff": "2026-10-18T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 21.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T00:24:00.000Z",
   "recorded_at": "2026-10-17T16:29:38.774Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-aef44c884c4ea85143e02b69",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 4108,
    "fragment_to": 4145,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayer-leverkusen-vs-sc-freiburg-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "c201c1747b1133d7681efc7c224736b42b9e42ff81e592e1253a142c642b401a",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:24:00.000Z",
    "detected_at": "2026-10-17T16:29:38.774Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-b238474e6f35",
     "display_name": "Bayer 04 Leverkusen — SC Freiburg",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-18T13:30:00.000Z",
     "url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-15T00:24:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:24:00.000Z",
     "detected_at": "2026-10-17T16:29:38.774Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.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 Bayer 04 Leverkusen 2-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "c32b1201bed877e8f0fd310b72d1ded3304a1bdf5645a318e44e0711cffd2330",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayer-leverkusen-vs-sc-freiburg-2026-10-18/",
     "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-d934c40f77375cb799ca9d48",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-d934c40f77375cb799ca9d48",
   "match": "Bayer 04 Leverkusen v SC Freiburg",
   "match_url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
   "kickoff": "2026-10-18T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 21.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T00:24:00.000Z",
   "recorded_at": "2026-10-17T16:29:38.774Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d934c40f77375cb799ca9d48",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3704,
    "fragment_to": 3735,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayer-leverkusen-vs-sc-freiburg-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "c201c1747b1133d7681efc7c224736b42b9e42ff81e592e1253a142c642b401a",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:24:00.000Z",
    "detected_at": "2026-10-17T16:29:38.774Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-b238474e6f35",
     "display_name": "Bayer 04 Leverkusen — SC Freiburg",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-18T13:30:00.000Z",
     "url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_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-15T00:24:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:24:00.000Z",
     "detected_at": "2026-10-17T16:29:38.774Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Bayer 04 Leverkusen 2-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "27045ff95ca2050e5b1f887cf8885033b7291519e280198e3a21af37879847e6",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayer-leverkusen-vs-sc-freiburg-2026-10-18/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-67ce1705c1e97a5b4367a1e4",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/8/#pick-n-67ce1705c1e97a5b4367a1e4",
   "match": "Bayer 04 Leverkusen v SC Freiburg",
   "match_url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
   "kickoff": "2026-10-18T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 21.0,
   "market_code": "double_chance",
   "author_said": "Double chance: Bayer 04 Leverkusen or draw",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T00:24:00.000Z",
   "recorded_at": "2026-10-17T16:29:38.774Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-67ce1705c1e97a5b4367a1e4",
    "quote_text": "Double chance: Bayer Leverkusen ou match nul.",
    "fragment_from": 3323,
    "fragment_to": 3368,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayer-leverkusen-vs-sc-freiburg-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "c201c1747b1133d7681efc7c224736b42b9e42ff81e592e1253a142c642b401a",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:24:00.000Z",
    "detected_at": "2026-10-17T16:29:38.774Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-b238474e6f35",
     "display_name": "Bayer 04 Leverkusen — SC Freiburg",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-18T13:30:00.000Z",
     "url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "Bayer 04 Leverkusen or draw",
    "odds_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-15T00:24:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:24:00.000Z",
     "detected_at": "2026-10-17T16:29:38.774Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "Bayer 04 Leverkusen or draw",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "1X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: Bayer 04 Leverkusen or draw"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Bayer 04 Leverkusen 2-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "56fadb2ff77b62440d9ad7684ac1ee8e083954210d072d1e854a90cf0c1698a0",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "Bayer 04 Leverkusen or 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/bayer-leverkusen-vs-sc-freiburg-2026-10-18/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bayer 04 Leverkusen or draw"
   }
  },
  {
   "record_id": "n-9d1bf3fd4d7d29ba592d716a",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-9d1bf3fd4d7d29ba592d716a",
   "match": "Osasuna v Real Racing Club",
   "match_url": "/football/matches/osasuna-vs-real-racing-club-2026-10-18/",
   "kickoff": "2026-10-18T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 82.3,
   "market_code": "player_to_score",
   "author_said": "Player to score: Yassir Zabiri to score",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": "2-0",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T00:23:55.000Z",
   "recorded_at": "2026-10-15T01:42:39.121Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9d1bf3fd4d7d29ba592d716a",
    "quote_text": "Buteur à tout moment: Yassir Zabiri",
    "fragment_from": 3112,
    "fragment_to": 3147,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/osasuna-vs-racing-santander-2026-10-18/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "87e4cd7b4edc24f2d09832c3e9db075534607f550bb89ae787a31ada66cb76b2",
     "material_removed": false
    },
    "published_at": "2026-10-15T00:23:55.000Z",
    "detected_at": "2026-10-15T01:42:39.121Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-944cbfe0e3e0",
     "display_name": "Osasuna — Real Racing Club",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-18T12:00:00.000Z",
     "url": "/football/matches/osasuna-vs-real-racing-club-2026-10-18/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Yassir Zabiri to score",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T00:23:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-15T00:23:55.000Z",
     "detected_at": "2026-10-15T01:42:39.121Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Yassir Zabiri to score",
     "author_odds": null,
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Yassir Zabiri to score"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": "2-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": "aa7ddf0fa2b654401f30658fccedfe118ef28b9d8d0193a4844f295387f5e1be",
      "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": "Yassir Zabiri to score",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": true
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/osasuna-vs-racing-santander-2026-10-18/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Yassir Zabiri to score"
   }
  },
  {
   "record_id": "n-83d15cd9b214cbdd7cea6f82",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-83d15cd9b214cbdd7cea6f82",
   "match": "Lille v Stade Brestois",
   "match_url": "/football/matches/lille-vs-stade-brestois-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 90.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Lille",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-14T00:24:29.000Z",
   "recorded_at": "2026-10-14T00:29:33.146Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-83d15cd9b214cbdd7cea6f82",
    "quote_text": "Résultat du match (1X2): Lille - Deuxième au classement, Lille a remporté quatre de ses six rencontres et bénéficie de l'avantage du terrain. Brest n'a enregistré que deux victoires et peine à l'extérieur. Bien que les cotes reflètent la domination lilloise, la solidité de sa défense et son efficacité à domicile justifient ce choix.",
    "fragment_from": 2599,
    "fragment_to": 2933,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lille-vs-brest-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "976c4aec55e427f74c4c88ee0858fb8a3426e415b76c790cd99e3deee661a21f",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:29.000Z",
    "detected_at": "2026-10-14T00:29:33.146Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-fcb090a96d57",
     "display_name": "Lille — Stade Brestois",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/lille-vs-stade-brestois-2026-10-17/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Lille",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-14T00:24:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:29.000Z",
     "detected_at": "2026-10-14T00:29:33.146Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Lille",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Lille"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lille 1-1 Stade Brestois."
    },
    "settlements": [
     {
      "operation_id": "0fcfb60e616be54c42eb8292aebde90926be2bd714956fcea9b31e6c0e64b492",
      "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": "Lille",
      "decimal_odds": "1.7906",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-15T20:58:12.776Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/lille-vs-brest-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lille to win"
   }
  },
  {
   "record_id": "n-625a7684072c7ac70e0c6bc9",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-625a7684072c7ac70e0c6bc9",
   "match": "RC Strasbourg v Paris Saint-Germain",
   "match_url": "/football/matches/rc-strasbourg-vs-paris-saint-germain-2026-10-17/",
   "kickoff": "2026-10-17T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 86.8,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-3",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T00:24:27.000Z",
   "recorded_at": "2026-10-14T00:29:32.618Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-625a7684072c7ac70e0c6bc9",
    "quote_text": "Plus/Moins de buts: Plus de 2.5.",
    "fragment_from": 3170,
    "fragment_to": 3202,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/strasbourg-vs-psg-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "579f12e04aa5f8d716649b3103fa125b933c041145128efbc6105b7c7d67e8c8",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:27.000Z",
    "detected_at": "2026-10-14T00:29:32.618Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-2e5ca9903f14",
     "display_name": "RC Strasbourg — Paris Saint-Germain",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-17T15:15:00.000Z",
     "url": "/football/matches/rc-strasbourg-vs-paris-saint-germain-2026-10-17/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-14T00:24:27.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:27.000Z",
     "detected_at": "2026-10-14T00:29:32.618Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was RC Strasbourg 1-3 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "536af0bd7d2e6affe92dc0d3bb4a84e2c0f39eabd8721d06958cccea169049fc",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/strasbourg-vs-psg-2026-10-17/",
     "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-c594c04475a1295ae24b2174",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-c594c04475a1295ae24b2174",
   "match": "Villarreal v Elche",
   "match_url": "/football/matches/villarreal-vs-elche-2026-10-17/",
   "kickoff": "2026-10-17T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 82.8,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-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-14T00:24:37.000Z",
   "recorded_at": "2026-10-14T03:29:34.951Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c594c04475a1295ae24b2174",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 3385,
    "fragment_to": 3423,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/villarreal-vs-elche-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "22ad9df57382550c0dbb7c9daceb541cc7142773e578dfae84fcbf949e16905c",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:37.000Z",
    "detected_at": "2026-10-14T03:29:34.951Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-f1e8201c1b4c",
     "display_name": "Villarreal — Elche",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-17T14:15:00.000Z",
     "url": "/football/matches/villarreal-vs-elche-2026-10-17/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_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-14T00:24:37.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:37.000Z",
     "detected_at": "2026-10-14T03:29:34.951Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Villarreal 0-0 Elche."
    },
    "settlements": [
     {
      "operation_id": "0076a35ed181fec66ec4c8aa4a5e9d08b5f1c95f77327aa706d4363f95a08c84",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/villarreal-vs-elche-2026-10-17/",
     "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-810bdb448c785ca125be4e3b",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-810bdb448c785ca125be4e3b",
   "match": "1. FC Union Berlin v Borussia Dortmund",
   "match_url": "/football/matches/1-fc-union-berlin-vs-borussia-dortmund-2026-10-17/",
   "kickoff": "2026-10-17T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 80.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-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-14T00:24:42.000Z",
   "recorded_at": "2026-10-14T05:29:34.338Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-810bdb448c785ca125be4e3b",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3732,
    "fragment_to": 3763,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/union-berlin-vs-borussia-dortmund-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "c298d04cf56367c703ade847da7b5a5ad5f3a0728078a5b8862d740a9b8313d4",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:42.000Z",
    "detected_at": "2026-10-14T05:29:34.338Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-f34b372eaab6",
     "display_name": "1. FC Union Berlin — Borussia Dortmund",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-17T13:30:00.000Z",
     "url": "/football/matches/1-fc-union-berlin-vs-borussia-dortmund-2026-10-17/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_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-14T00:24:42.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:42.000Z",
     "detected_at": "2026-10-14T05:29:34.338Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was 1. FC Union Berlin 0-0 Borussia Dortmund."
    },
    "settlements": [
     {
      "operation_id": "cefdca9231a5537a1a60031f923ff3bf46869247243f6af58ad88ddd0a01462d",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/union-berlin-vs-borussia-dortmund-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-481ddfc72736463e34fe9987",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/7/#pick-n-481ddfc72736463e34fe9987",
   "match": "1. FC Union Berlin v Borussia Dortmund",
   "match_url": "/football/matches/1-fc-union-berlin-vs-borussia-dortmund-2026-10-17/",
   "kickoff": "2026-10-17T13:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 80.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-14T00:24:42.000Z",
   "recorded_at": "2026-10-14T05:29:34.338Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-481ddfc72736463e34fe9987",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3063,
    "fragment_to": 3100,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/union-berlin-vs-borussia-dortmund-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "c298d04cf56367c703ade847da7b5a5ad5f3a0728078a5b8862d740a9b8313d4",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:42.000Z",
    "detected_at": "2026-10-14T05:29:34.338Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-f34b372eaab6",
     "display_name": "1. FC Union Berlin — Borussia Dortmund",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-17T13:30:00.000Z",
     "url": "/football/matches/1-fc-union-berlin-vs-borussia-dortmund-2026-10-17/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-14T00:24:42.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:42.000Z",
     "detected_at": "2026-10-14T05:29:34.338Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was 1. FC Union Berlin 0-0 Borussia Dortmund."
    },
    "settlements": [
     {
      "operation_id": "abe157a17987dcde2e463dbaf0cc1c49c1dd9a573d0b71a15a6090a6e857b547",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/union-berlin-vs-borussia-dortmund-2026-10-17/",
     "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-eb289760381b70e51592b7bb",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-eb289760381b70e51592b7bb",
   "match": "Espanyol v Atlético Madrid",
   "match_url": "/football/matches/espanyol-vs-atletico-madrid-2026-10-17/",
   "kickoff": "2026-10-17T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 81.5,
   "market_code": "team_total",
   "author_said": "Team goals over/under 0.5: Atlético Madrid under 0.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T00:24:36.000Z",
   "recorded_at": "2026-10-14T02:29:33.969Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-eb289760381b70e51592b7bb",
    "quote_text": "Aucun but encaissé: Atletico Madrid.",
    "fragment_from": 3743,
    "fragment_to": 3779,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/espanyol-vs-atletico-madrid-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "7bc41b607e1c57dce993d6b5c269204f8b6708d1b41717aebab03ea1d941b851",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:36.000Z",
    "detected_at": "2026-10-14T02:29:33.969Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-bb416d51f376",
     "display_name": "Espanyol — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-17T12:00:00.000Z",
     "url": "/football/matches/espanyol-vs-atletico-madrid-2026-10-17/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Team goals over/under 0.5",
    "outcome_label": "Atlético Madrid under 0.5",
    "odds_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-14T00:24:36.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:36.000Z",
     "detected_at": "2026-10-14T02:29:33.969Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Team goals over/under 0.5",
     "choice": "Atlético Madrid under 0.5",
     "author_odds": null,
     "market_key": "team_total",
     "choice_key": "2-under",
     "period": "match",
     "line": "0.5",
     "subject": "goals_total",
     "in_words": "Team goals over/under 0.5: Atlético Madrid under 0.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Espanyol 0-1 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "be62b8351a121f00d66221f0b36ffecc63fe0f13bc4e2d5da3b42dbfeff396ae",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 0.5",
      "choice": "Atlético Madrid under 0.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/espanyol-vs-atletico-madrid-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atlético Madrid under 0.5 (Team goals over/under 0.5)"
   }
  },
  {
   "record_id": "n-7529ca5e74941ebc68578cfa",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-7529ca5e74941ebc68578cfa",
   "match": "Espanyol v Atlético Madrid",
   "match_url": "/football/matches/espanyol-vs-atletico-madrid-2026-10-17/",
   "kickoff": "2026-10-17T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 81.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Atlético Madrid",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T00:24:36.000Z",
   "recorded_at": "2026-10-14T02:29:33.969Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7529ca5e74941ebc68578cfa",
    "quote_text": "Résultat du match (1X2): Atletico Madrid.",
    "fragment_from": 3328,
    "fragment_to": 3369,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/espanyol-vs-atletico-madrid-2026-10-17/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "7bc41b607e1c57dce993d6b5c269204f8b6708d1b41717aebab03ea1d941b851",
     "material_removed": false
    },
    "published_at": "2026-10-14T00:24:36.000Z",
    "detected_at": "2026-10-14T02:29:33.969Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-bb416d51f376",
     "display_name": "Espanyol — Atlético Madrid",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-17T12:00:00.000Z",
     "url": "/football/matches/espanyol-vs-atletico-madrid-2026-10-17/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Atlético Madrid",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-14T00:24:36.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-14T00:24:36.000Z",
     "detected_at": "2026-10-14T02:29:33.969Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Atlético Madrid",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Atlético Madrid"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Espanyol 0-1 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "58d69b49407a5a4732a4272beaf552cafcf008eaa684c557da6399118d578507",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Atlético Madrid",
      "decimal_odds": "1.7519",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-15T16:30:25.149Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/espanyol-vs-atletico-madrid-2026-10-17/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atlético Madrid to win"
   }
  },
  {
   "record_id": "n-37aeba66b7731bdec0749e48",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-37aeba66b7731bdec0749e48",
   "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": 89.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T00:21:55.000Z",
   "recorded_at": "2026-10-13T01:29:36.890Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-37aeba66b7731bdec0749e48",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3729,
    "fragment_to": 3766,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-sassuolo-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "304b27787c157512284c929321f4e2f3f39c73b04398b8d01234c0a55f138735",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:55.000Z",
    "detected_at": "2026-10-13T01:29:36.890Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": 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-13T00:21:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:55.000Z",
     "detected_at": "2026-10-13T01:29:36.890Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.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": "053cdd5210484a3c94fd274cad754b3045445b89efcc6dc61a9294f98068f02f",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-sassuolo-2026-10-16/",
     "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-58d4e2c9180b221fdae807ad",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-58d4e2c9180b221fdae807ad",
   "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": 89.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T00:21:55.000Z",
   "recorded_at": "2026-10-13T01:29:36.890Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-58d4e2c9180b221fdae807ad",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3451,
    "fragment_to": 3482,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-sassuolo-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "304b27787c157512284c929321f4e2f3f39c73b04398b8d01234c0a55f138735",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:55.000Z",
    "detected_at": "2026-10-13T01:29:36.890Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": 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-13T00:21:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:55.000Z",
     "detected_at": "2026-10-13T01:29:36.890Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "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": "2994c23170a281ebf1ef13db8a6951804b7f21a10abe58bf3aa44d7d238e5fa2",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-sassuolo-2026-10-16/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-7f64e460cdcef93edc808815",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/6/#pick-n-7f64e460cdcef93edc808815",
   "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": 89.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Frosinone",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T00:21:55.000Z",
   "recorded_at": "2026-10-13T01:29:36.890Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7f64e460cdcef93edc808815",
    "quote_text": "Résultat du match (1X2): Victoire de Frosinone.",
    "fragment_from": 3111,
    "fragment_to": 3158,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-sassuolo-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "304b27787c157512284c929321f4e2f3f39c73b04398b8d01234c0a55f138735",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:55.000Z",
    "detected_at": "2026-10-13T01:29:36.890Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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",
    "outcome_label": "Frosinone",
    "odds_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-13T00:21:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:55.000Z",
     "detected_at": "2026-10-13T01:29:36.890Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Frosinone",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Frosinone"
    },
    "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": "ea51cc58063580328dec941c8eda92662528a961b9a6c2766860463a887674e1",
      "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": "Frosinone",
      "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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/frosinone-vs-sassuolo-2026-10-16/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Frosinone to win"
   }
  },
  {
   "record_id": "n-1248bef618cf2f040bbf12b7",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-1248bef618cf2f040bbf12b7",
   "match": "Eintracht Frankfurt v 1. FC Köln",
   "match_url": "/football/matches/eintracht-frankfurt-vs-1-fc-koln-2026-10-16/",
   "kickoff": "2026-10-16T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 90.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T00:21:53.000Z",
   "recorded_at": "2026-10-13T00:29:32.949Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1248bef618cf2f040bbf12b7",
    "quote_text": "Deux des trois derniers duels directs ont vu les deux formations trouver le chemin des filets. Les lacunes défensives de Francfort conjuguées au potentiel offensif de Cologne rendent ce scénario particulièrement plausible.",
    "fragment_from": 3623,
    "fragment_to": 3845,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-fc-koln-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "d78c30e8dfaf230ccca4ca053ea290632c118d17b6fe817e104b13c63a2181a6",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:53.000Z",
    "detected_at": "2026-10-13T00:29:32.949Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-2cffca3d320b",
     "display_name": "Eintracht Frankfurt — 1. FC Köln",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-16T18:30:00.000Z",
     "url": "/football/matches/eintracht-frankfurt-vs-1-fc-koln-2026-10-16/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_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-13T00:21:53.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:53.000Z",
     "detected_at": "2026-10-13T00:29:32.949Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Eintracht Frankfurt 1-0 1. FC Köln."
    },
    "settlements": [
     {
      "operation_id": "676d4753b8281399254a27f497c7865d23e59d2f82c489d4d9f815c9bd6499fe",
      "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.3636",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-14T22:30:42.678Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-fc-koln-2026-10-16/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-5438fe380c85725396cd262a",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-5438fe380c85725396cd262a",
   "match": "Eintracht Frankfurt v 1. FC Köln",
   "match_url": "/football/matches/eintracht-frankfurt-vs-1-fc-koln-2026-10-16/",
   "kickoff": "2026-10-16T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 90.0,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or 1. FC Köln",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T00:21:53.000Z",
   "recorded_at": "2026-10-13T00:29:32.949Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5438fe380c85725396cd262a",
    "quote_text": "Une victoire de Cologne ou un match nul méritent considération au vu de la vulnérabilité affichée par les Aigles et de la stabilité relative affichée par les Rhénans.",
    "fragment_from": 3428,
    "fragment_to": 3594,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-fc-koln-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "d78c30e8dfaf230ccca4ca053ea290632c118d17b6fe817e104b13c63a2181a6",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:53.000Z",
    "detected_at": "2026-10-13T00:29:32.949Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-2cffca3d320b",
     "display_name": "Eintracht Frankfurt — 1. FC Köln",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-16T18:30:00.000Z",
     "url": "/football/matches/eintracht-frankfurt-vs-1-fc-koln-2026-10-16/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or 1. FC Köln",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-13T00:21:53.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:53.000Z",
     "detected_at": "2026-10-13T00:29:32.949Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "draw or 1. FC Köln",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or 1. FC Köln"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Eintracht Frankfurt 1-0 1. FC Köln."
    },
    "settlements": [
     {
      "operation_id": "0bace427f9a32f982f49d2495749ac2f07fe528f247c33745fc7d6c544dccb51",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or 1. FC Köln",
      "decimal_odds": "1.8929",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-14T22:30:45.458Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-fc-koln-2026-10-16/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or 1. FC Köln"
   }
  },
  {
   "record_id": "n-30a5f5c50f4fcab521fd723b",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-30a5f5c50f4fcab521fd723b",
   "match": "Eintracht Frankfurt v 1. FC Köln",
   "match_url": "/football/matches/eintracht-frankfurt-vs-1-fc-koln-2026-10-16/",
   "kickoff": "2026-10-16T18:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 90.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-13T00:21:53.000Z",
   "recorded_at": "2026-10-13T00:29:32.949Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-30a5f5c50f4fcab521fd723b",
    "quote_text": "Sur leurs cinq derniers affrontements, toutes les rencontres entre Francfort et Cologne ont dépassé la barre des trois buts.",
    "fragment_from": 3063,
    "fragment_to": 3187,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-fc-koln-2026-10-16/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "d78c30e8dfaf230ccca4ca053ea290632c118d17b6fe817e104b13c63a2181a6",
     "material_removed": false
    },
    "published_at": "2026-10-13T00:21:53.000Z",
    "detected_at": "2026-10-13T00:29:32.949Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-2cffca3d320b",
     "display_name": "Eintracht Frankfurt — 1. FC Köln",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-16T18:30:00.000Z",
     "url": "/football/matches/eintracht-frankfurt-vs-1-fc-koln-2026-10-16/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-13T00:21:53.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-13T00:21:53.000Z",
     "detected_at": "2026-10-13T00:29:32.949Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Eintracht Frankfurt 1-0 1. FC Köln."
    },
    "settlements": [
     {
      "operation_id": "1ddd0f3e2e66034fe2c6bc4ba59a1639d93b54b60bfb4916273df586352152e9",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/eintracht-frankfurt-vs-fc-koln-2026-10-16/",
     "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-8a9246dd59281b5f14adef4d",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-8a9246dd59281b5f14adef4d",
   "match": "Manchester City v Paris Saint-Germain",
   "match_url": "/football/matches/manchester-city-vs-paris-saint-germain-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 82.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-4",
   "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-11T00:23:29.000Z",
   "recorded_at": "2026-10-11T08:49:33.405Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8a9246dd59281b5f14adef4d",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3753,
    "fragment_to": 3790,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/manchester-city-vs-psg-2026-10-14/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "4113de25775daf6d102cb3ae90a6514783d3026be4aff4d3d1d7cdc3ee99cc0b",
     "material_removed": false
    },
    "published_at": "2026-10-11T00:23:29.000Z",
    "detected_at": "2026-10-11T08:49:33.405Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-29ba3bb2f092",
     "display_name": "Manchester City — Paris Saint-Germain",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/manchester-city-vs-paris-saint-germain-2026-10-14/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-11T00:23:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-11T00:23:29.000Z",
     "detected_at": "2026-10-11T08:49:33.405Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Manchester City 2-4 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "4a5ce4c9151302b5ee6eb3beeee15a859191cde11776f1c8a6191557a6e89c18",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/manchester-city-vs-psg-2026-10-14/",
     "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-a9e68d247264cf1fb6c45092",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-a9e68d247264cf1fb6c45092",
   "match": "Manchester City v Paris Saint-Germain",
   "match_url": "/football/matches/manchester-city-vs-paris-saint-germain-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 82.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-4",
   "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-11T00:23:29.000Z",
   "recorded_at": "2026-10-11T08:49:33.405Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a9e68d247264cf1fb6c45092",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3407,
    "fragment_to": 3438,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/manchester-city-vs-psg-2026-10-14/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "4113de25775daf6d102cb3ae90a6514783d3026be4aff4d3d1d7cdc3ee99cc0b",
     "material_removed": false
    },
    "published_at": "2026-10-11T00:23:29.000Z",
    "detected_at": "2026-10-11T08:49:33.405Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-29ba3bb2f092",
     "display_name": "Manchester City — Paris Saint-Germain",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/manchester-city-vs-paris-saint-germain-2026-10-14/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_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-11T00:23:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-11T00:23:29.000Z",
     "detected_at": "2026-10-11T08:49:33.405Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Manchester City 2-4 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "b15a44f851ea500b1a49aac495a8f37c9126514fe931ed1cdcfffb36c05f503c",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/manchester-city-vs-psg-2026-10-14/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-ac8961f6688a619764d847e0",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-ac8961f6688a619764d847e0",
   "match": "Manchester City v Paris Saint-Germain",
   "match_url": "/football/matches/manchester-city-vs-paris-saint-germain-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 82.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Paris Saint-Germain",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-4",
   "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-11T00:23:29.000Z",
   "recorded_at": "2026-10-11T08:49:33.405Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ac8961f6688a619764d847e0",
    "quote_text": "Résultat du match (1X2): PSG.",
    "fragment_from": 3087,
    "fragment_to": 3116,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/manchester-city-vs-psg-2026-10-14/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "4113de25775daf6d102cb3ae90a6514783d3026be4aff4d3d1d7cdc3ee99cc0b",
     "material_removed": false
    },
    "published_at": "2026-10-11T00:23:29.000Z",
    "detected_at": "2026-10-11T08:49:33.405Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-29ba3bb2f092",
     "display_name": "Manchester City — Paris Saint-Germain",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/manchester-city-vs-paris-saint-germain-2026-10-14/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Paris Saint-Germain",
    "odds_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-11T00:23:29.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-11T00:23:29.000Z",
     "detected_at": "2026-10-11T08:49:33.405Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Paris Saint-Germain",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Paris Saint-Germain"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Manchester City 2-4 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "4f4ee5d493555b20329f9ae7fa8b0776347d22ab6abf1b274a112dd25c694cd2",
      "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": "Paris Saint-Germain",
      "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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/manchester-city-vs-psg-2026-10-14/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain to win"
   }
  },
  {
   "record_id": "n-8b88b31c59e96240f88e7b03",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-8b88b31c59e96240f88e7b03",
   "match": "Bodø/Glimt v Borussia Dortmund",
   "match_url": "/football/matches/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 82.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-11T00:23:28.000Z",
   "recorded_at": "2026-10-11T08:29:34.493Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8b88b31c59e96240f88e7b03",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3610,
    "fragment_to": 3647,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "8f518584c3fc195b0c0f726b182f058cd9ac20acc62471a8ce51ca2794c2c066",
     "material_removed": false
    },
    "published_at": "2026-10-11T00:23:28.000Z",
    "detected_at": "2026-10-11T08:29:34.493Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-cbab4f05165e",
     "display_name": "Bodø/Glimt — Borussia Dortmund",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-11T00:23:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-11T00:23:28.000Z",
     "detected_at": "2026-10-11T08:29:34.493Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Bodø/Glimt 1-0 Borussia Dortmund."
    },
    "settlements": [
     {
      "operation_id": "4942cd566d810207db97f0cd8e0e03f5ce85a62cdcd84de51ee5d193556cc2b6",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "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-79993ea3eff12b4f194036a7",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-79993ea3eff12b4f194036a7",
   "match": "Bodø/Glimt v Borussia Dortmund",
   "match_url": "/football/matches/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 82.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-11T00:23:28.000Z",
   "recorded_at": "2026-10-11T08:29:34.493Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-79993ea3eff12b4f194036a7",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3256,
    "fragment_to": 3287,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "8f518584c3fc195b0c0f726b182f058cd9ac20acc62471a8ce51ca2794c2c066",
     "material_removed": false
    },
    "published_at": "2026-10-11T00:23:28.000Z",
    "detected_at": "2026-10-11T08:29:34.493Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-cbab4f05165e",
     "display_name": "Bodø/Glimt — Borussia Dortmund",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_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-11T00:23:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-11T00:23:28.000Z",
     "detected_at": "2026-10-11T08:29:34.493Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Bodø/Glimt 1-0 Borussia Dortmund."
    },
    "settlements": [
     {
      "operation_id": "9dc6f6264f97dbd36b5c83e9e3cd663adc6e260a2877f9dc8457f4ff4ebec295",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-56dd20e3696c6950ea3ce05f",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-56dd20e3696c6950ea3ce05f",
   "match": "Bodø/Glimt v Borussia Dortmund",
   "match_url": "/football/matches/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 82.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Borussia Dortmund",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-11T00:23:28.000Z",
   "recorded_at": "2026-10-11T08:29:34.493Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-56dd20e3696c6950ea3ce05f",
    "quote_text": "Résultat du match (1X2): Victoire de Borussia Dortmund.",
    "fragment_from": 2946,
    "fragment_to": 3001,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "8f518584c3fc195b0c0f726b182f058cd9ac20acc62471a8ce51ca2794c2c066",
     "material_removed": false
    },
    "published_at": "2026-10-11T00:23:28.000Z",
    "detected_at": "2026-10-11T08:29:34.493Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-cbab4f05165e",
     "display_name": "Bodø/Glimt — Borussia Dortmund",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Borussia Dortmund",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T00:23:28.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-11T00:23:28.000Z",
     "detected_at": "2026-10-11T08:29:34.493Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Borussia Dortmund",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Borussia Dortmund"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Bodø/Glimt 1-0 Borussia Dortmund."
    },
    "settlements": [
     {
      "operation_id": "9b78683a98c1412525a772ff1a351e5a8eee894a83a8d01bef3c4be1f21f8e9c",
      "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": "Borussia Dortmund",
      "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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/bodo-glimt-vs-borussia-dortmund-2026-10-14/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Borussia Dortmund to win"
   }
  },
  {
   "record_id": "n-c4c55c079fb974af0a8107aa",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-c4c55c079fb974af0a8107aa",
   "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": 33.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-09T13:24:10.000Z",
   "recorded_at": "2026-10-11T07:29:36.982Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": {
    "at": "2026-10-14T02:01:08.922Z",
    "field": "line sign",
    "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
    "version": 2,
    "url": "/corrections/#c-f1b2048399e9",
    "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
   },
   "evidence": {
    "observation_id": "n-c4c55c079fb974af0a8107aa",
    "quote_text": "Plus/Moins de buts: Moins de 2,5.",
    "fragment_from": 3734,
    "fragment_to": 3767,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/atalanta-vs-venezia-2026-10-12/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e985b5da083dc45f6b99424af08d088fa60d78fa867100f2097b81c50b0bc00c",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:10.000Z",
    "detected_at": "2026-10-11T07:29:36.982Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": 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-09T13:24:10.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:10.000Z",
     "detected_at": "2026-10-11T07:29:36.982Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.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 Atalanta 3-1 Venezia."
    },
    "settlements": [
     {
      "operation_id": "1239c1512a716b767c103f16daf97e7bd24620a6221d490f09faa2bfa357a212",
      "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": 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": [
     {
      "at": "2026-10-14T02:01:08.922Z",
      "field_name": "line sign",
      "was": "Over/Under −2.5 goals · under −2.5",
      "now": "Over/Under 2.5 goals · under 2.5",
      "cause": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes."
     }
    ],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/atalanta-vs-venezia-2026-10-12/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": {
     "at": "2026-10-14T02:01:08.922Z",
     "field": "line sign",
     "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
     "version": 2,
     "url": "/corrections/#c-f1b2048399e9",
     "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
    },
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-4e9f3b832ceb803163548613",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-4e9f3b832ceb803163548613",
   "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": 33.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: Atalanta",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:24:10.000Z",
   "recorded_at": "2026-10-11T07:29:36.982Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4e9f3b832ceb803163548613",
    "quote_text": "Résultat du match (1X2): Victoire Atalanta.",
    "fragment_from": 3119,
    "fragment_to": 3162,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/atalanta-vs-venezia-2026-10-12/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e985b5da083dc45f6b99424af08d088fa60d78fa867100f2097b81c50b0bc00c",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:10.000Z",
    "detected_at": "2026-10-11T07:29:36.982Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": 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-09T13:24:10.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:10.000Z",
     "detected_at": "2026-10-11T07:29:36.982Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Atalanta"
    },
    "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": "36abd0aa1f862c814beef678a784aaa3efb15a031b0a74f50535d1639276b1e0",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/atalanta-vs-venezia-2026-10-12/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atalanta to win"
   }
  },
  {
   "record_id": "n-858139765bb7666ac1c10c32",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-858139765bb7666ac1c10c32",
   "match": "Real Betis v Osasuna",
   "match_url": "/football/matches/real-betis-vs-osasuna-2026-10-11/",
   "kickoff": "2026-10-11T16:30:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 12.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: Real Betis",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "5-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-09T13:23:57.000Z",
   "recorded_at": "2026-10-11T04:29:43.192Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-858139765bb7666ac1c10c32",
    "quote_text": "Résultat du match (1X2): Victoire Real Betis - Imbattus lors de 16 de leurs 17 derniers affrontements contre les visiteurs toutes compétitions confondues, les Béticos arrivent en excellente condition. L'Osasuna, fort de seulement 8 points après sept matchs, montre des faiblesses chroniques en déplacement.",
    "fragment_from": 2776,
    "fragment_to": 3082,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-betis-vs-osasuna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "85ab39f0b5372a63c51feaec3f7922d2e65018e529579a18cf1a9d00736c956a",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:23:57.000Z",
    "detected_at": "2026-10-11T04:29:43.192Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-b421c1106eb1",
     "display_name": "Real Betis — Osasuna",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T16:30:00.000Z",
     "url": "/football/matches/real-betis-vs-osasuna-2026-10-11/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Real Betis",
    "odds_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-09T13:23:57.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:23:57.000Z",
     "detected_at": "2026-10-11T04:29:43.192Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Real Betis",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Real Betis"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Betis 5-2 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "cdb110b751e73e20d9735c9ba243b07401636b337ddeb2c3c59d9dd9538ad0ca",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Real Betis",
      "decimal_odds": "1.5000",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-11T04:34:38.760Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-betis-vs-osasuna-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Betis to win"
   }
  },
  {
   "record_id": "n-2054ac14c971be7f0c616f05",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-2054ac14c971be7f0c616f05",
   "match": "SC Freiburg v FC Schalke 04",
   "match_url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
   "kickoff": "2026-10-11T15:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 10.0,
   "market_code": "team_total",
   "author_said": "Team goals over/under 0.5: SC Freiburg under 0.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-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-09T13:24:00.000Z",
   "recorded_at": "2026-10-11T05:30:58.160Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2054ac14c971be7f0c616f05",
    "quote_text": "Aucun but encaissé: SC Freiburg.",
    "fragment_from": 3900,
    "fragment_to": 3932,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/sc-freiburg-vs-schalke-04-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e05404c72f723cc1036eff0431ba8d08cf8e91442d374fc23199ff30850f318e",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:00.000Z",
    "detected_at": "2026-10-11T05:30:58.160Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-40031903677a",
     "display_name": "SC Freiburg — FC Schalke 04",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-11T15:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Team goals over/under 0.5",
    "outcome_label": "SC Freiburg under 0.5",
    "odds_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-09T13:24:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:00.000Z",
     "detected_at": "2026-10-11T05:30:58.160Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Team goals over/under 0.5",
     "choice": "SC Freiburg under 0.5",
     "author_odds": null,
     "market_key": "team_total",
     "choice_key": "1-under",
     "period": "match",
     "line": "0.5",
     "subject": "goals_total",
     "in_words": "Team goals over/under 0.5: SC Freiburg under 0.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was SC Freiburg 2-1 FC Schalke 04."
    },
    "settlements": [
     {
      "operation_id": "bb902a0ea752079e58ba204c341bbc0ed5e22581c12cda0ad919c75a66b856b7",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 0.5",
      "choice": "SC Freiburg under 0.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/sc-freiburg-vs-schalke-04-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Freiburg under 0.5 (Team goals over/under 0.5)"
   }
  },
  {
   "record_id": "n-047ec7e3fe807e5adbf04d86",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-047ec7e3fe807e5adbf04d86",
   "match": "SC Freiburg v FC Schalke 04",
   "match_url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
   "kickoff": "2026-10-11T15:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 10.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: SC Freiburg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "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-09T13:24:00.000Z",
   "recorded_at": "2026-10-11T05:30:58.160Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-047ec7e3fe807e5adbf04d86",
    "quote_text": "Résultat du match (1X2): SC Freiburg.",
    "fragment_from": 3191,
    "fragment_to": 3228,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/sc-freiburg-vs-schalke-04-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e05404c72f723cc1036eff0431ba8d08cf8e91442d374fc23199ff30850f318e",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:00.000Z",
    "detected_at": "2026-10-11T05:30:58.160Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-40031903677a",
     "display_name": "SC Freiburg — FC Schalke 04",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-11T15:30:00.000Z",
     "url": "/football/matches/sc-freiburg-vs-fc-schalke-04-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "SC Freiburg",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T13:24:00.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:00.000Z",
     "detected_at": "2026-10-11T05:30:58.160Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "SC Freiburg",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: SC Freiburg"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was SC Freiburg 2-1 FC Schalke 04."
    },
    "settlements": [
     {
      "operation_id": "e23f10dbe28be9d8a2ea67d7606f54aefd01be6fd270ddc09525273df9965f58",
      "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": "SC Freiburg",
      "decimal_odds": "1.6135",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-11T05:32:24.982Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/bundesliga/sc-freiburg-vs-schalke-04-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Freiburg to win"
   }
  },
  {
   "record_id": "n-9013514f73550501833f0b6a",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-9013514f73550501833f0b6a",
   "match": "Real Sociedad v Deportivo de A Coruña",
   "match_url": "/football/matches/real-sociedad-vs-deportivo-de-a-coruna-2026-10-11/",
   "kickoff": "2026-10-11T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 10.8,
   "market_code": "player_to_score",
   "author_said": "Player to score: Pierre-Emerick Aubameyang to score",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": "3-2",
   "reason": "",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:13:03.000Z",
   "recorded_at": "2026-10-11T03:29:48.938Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9013514f73550501833f0b6a",
    "quote_text": "Buteur à tout moment: Pierre-Emerick Aubameyang.",
    "fragment_from": 3633,
    "fragment_to": 3681,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-sociedad-vs-deportivo-la-coruna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "82ee35735f946f47e55d6d23648204cb421864ab2a0980e8fd50c5aab6a47929",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:03.000Z",
    "detected_at": "2026-10-11T03:29:48.938Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a7837daec4e9",
     "display_name": "Real Sociedad — Deportivo de A Coruña",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T14:15:00.000Z",
     "url": "/football/matches/real-sociedad-vs-deportivo-de-a-coruna-2026-10-11/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Pierre-Emerick Aubameyang to score",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T13:13:03.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:03.000Z",
     "detected_at": "2026-10-11T03:29:48.938Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Pierre-Emerick Aubameyang to score",
     "author_odds": null,
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Pierre-Emerick Aubameyang to score"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": "3-2",
     "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": "970a3d6df020ef9ec72cd47f9a332afef945d673799a25859a6fe7fdcbd5ae36",
      "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": "Pierre-Emerick Aubameyang to score",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-sociedad-vs-deportivo-la-coruna-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Pierre-Emerick Aubameyang to score"
   }
  },
  {
   "record_id": "n-f9adff420fee2d66c3a15746",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-f9adff420fee2d66c3a15746",
   "match": "Real Sociedad v Deportivo de A Coruña",
   "match_url": "/football/matches/real-sociedad-vs-deportivo-de-a-coruna-2026-10-11/",
   "kickoff": "2026-10-11T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 10.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:13:03.000Z",
   "recorded_at": "2026-10-11T03:29:48.938Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f9adff420fee2d66c3a15746",
    "quote_text": "Les deux équipes marquent.",
    "fragment_from": 3301,
    "fragment_to": 3327,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-sociedad-vs-deportivo-la-coruna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "82ee35735f946f47e55d6d23648204cb421864ab2a0980e8fd50c5aab6a47929",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:03.000Z",
    "detected_at": "2026-10-11T03:29:48.938Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a7837daec4e9",
     "display_name": "Real Sociedad — Deportivo de A Coruña",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T14:15:00.000Z",
     "url": "/football/matches/real-sociedad-vs-deportivo-de-a-coruna-2026-10-11/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_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-09T13:13:03.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:03.000Z",
     "detected_at": "2026-10-11T03:29:48.938Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Sociedad 3-2 Deportivo de A Coruña."
    },
    "settlements": [
     {
      "operation_id": "fdf3518f5a869d5d3ae468aab8643e9f3b26a38e9aed08bd0e01dadb3ace9be8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-sociedad-vs-deportivo-la-coruna-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-10df366de7f5bfb5e0bac12d",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-10df366de7f5bfb5e0bac12d",
   "match": "Real Sociedad v Deportivo de A Coruña",
   "match_url": "/football/matches/real-sociedad-vs-deportivo-de-a-coruna-2026-10-11/",
   "kickoff": "2026-10-11T14:15:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 10.8,
   "market_code": "double_chance",
   "author_said": "Double chance: Real Sociedad or draw",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:13:03.000Z",
   "recorded_at": "2026-10-11T03:29:48.938Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-10df366de7f5bfb5e0bac12d",
    "quote_text": "Double chance 1X.",
    "fragment_from": 2961,
    "fragment_to": 2978,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-sociedad-vs-deportivo-la-coruna-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "82ee35735f946f47e55d6d23648204cb421864ab2a0980e8fd50c5aab6a47929",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:03.000Z",
    "detected_at": "2026-10-11T03:29:48.938Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a7837daec4e9",
     "display_name": "Real Sociedad — Deportivo de A Coruña",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T14:15:00.000Z",
     "url": "/football/matches/real-sociedad-vs-deportivo-de-a-coruna-2026-10-11/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "Real Sociedad or draw",
    "odds_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-09T13:13:03.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:03.000Z",
     "detected_at": "2026-10-11T03:29:48.938Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "Real Sociedad or draw",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "1X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: Real Sociedad or draw"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Sociedad 3-2 Deportivo de A Coruña."
    },
    "settlements": [
     {
      "operation_id": "0f958f4dcb237ba5087e91d061aaf561b537474953a86b27857e0c24eeeb6302",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "Real Sociedad or 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/real-sociedad-vs-deportivo-la-coruna-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Sociedad or draw"
   }
  },
  {
   "record_id": "n-399f29cf68575bd2729c814c",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-399f29cf68575bd2729c814c",
   "match": "Lazio v Monza",
   "match_url": "/football/matches/lazio-vs-monza-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 6.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-09T13:24:02.000Z",
   "recorded_at": "2026-10-11T06:29:45.777Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": {
    "at": "2026-10-14T02:01:07.580Z",
    "field": "line sign",
    "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
    "version": 2,
    "url": "/corrections/#c-f1b2048399e9",
    "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
   },
   "evidence": {
    "observation_id": "n-399f29cf68575bd2729c814c",
    "quote_text": "Plus/Moins de buts: Moins de 2.5 buts.",
    "fragment_from": 3450,
    "fragment_to": 3488,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lazio-vs-monza-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "09b07c740049cfa6ac3dff85bbd45de5241f72631d938b4e67bdbd2ebbca1bf2",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:02.000Z",
    "detected_at": "2026-10-11T06:29:45.777Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-4dc10c72315f",
     "display_name": "Lazio — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/lazio-vs-monza-2026-10-11/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_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-09T13:24:02.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:02.000Z",
     "detected_at": "2026-10-11T06:29:45.777Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.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 Lazio 3-1 Monza."
    },
    "settlements": [
     {
      "operation_id": "e8df667b693310098ba6a70c118b15665e095325e642cd96fb2e4bbff09d7d9e",
      "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": 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": [
     {
      "at": "2026-10-14T02:01:07.580Z",
      "field_name": "line sign",
      "was": "Over/Under −2.5 goals · under −2.5",
      "now": "Over/Under 2.5 goals · under 2.5",
      "cause": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes."
     }
    ],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lazio-vs-monza-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": {
     "at": "2026-10-14T02:01:07.580Z",
     "field": "line sign",
     "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
     "version": 2,
     "url": "/corrections/#c-f1b2048399e9",
     "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
    },
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-33ded04b7206fbf0a0434edf",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-33ded04b7206fbf0a0434edf",
   "match": "Lazio v Monza",
   "match_url": "/football/matches/lazio-vs-monza-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 6.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-09T13:24:02.000Z",
   "recorded_at": "2026-10-11T06:29:45.777Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-33ded04b7206fbf0a0434edf",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3190,
    "fragment_to": 3221,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lazio-vs-monza-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "09b07c740049cfa6ac3dff85bbd45de5241f72631d938b4e67bdbd2ebbca1bf2",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:02.000Z",
    "detected_at": "2026-10-11T06:29:45.777Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-4dc10c72315f",
     "display_name": "Lazio — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/lazio-vs-monza-2026-10-11/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_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-09T13:24:02.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:02.000Z",
     "detected_at": "2026-10-11T06:29:45.777Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lazio 3-1 Monza."
    },
    "settlements": [
     {
      "operation_id": "9889ef79e5f5cabb829e1a30baa29973ada9cfeb7bc5d13cae8b806250375be2",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lazio-vs-monza-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-0779ff17d2be51c05b2ecafd",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-0779ff17d2be51c05b2ecafd",
   "match": "Lazio v Monza",
   "match_url": "/football/matches/lazio-vs-monza-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 6.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Lazio",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:24:02.000Z",
   "recorded_at": "2026-10-11T06:29:45.777Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0779ff17d2be51c05b2ecafd",
    "quote_text": "Résultat du match (1X2): Victoire Lazio.",
    "fragment_from": 2865,
    "fragment_to": 2905,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lazio-vs-monza-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "09b07c740049cfa6ac3dff85bbd45de5241f72631d938b4e67bdbd2ebbca1bf2",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:02.000Z",
    "detected_at": "2026-10-11T06:29:45.777Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-4dc10c72315f",
     "display_name": "Lazio — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/lazio-vs-monza-2026-10-11/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Lazio",
    "odds_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-09T13:24:02.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:02.000Z",
     "detected_at": "2026-10-11T06:29:45.777Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Lazio",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Lazio"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lazio 3-1 Monza."
    },
    "settlements": [
     {
      "operation_id": "90533ac063431d27321869049397e11e72127479703ea211d7f5878273b76995",
      "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": "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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/lazio-vs-monza-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lazio to win"
   }
  },
  {
   "record_id": "n-8f87f8e9fddac6518931b205",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-8f87f8e9fddac6518931b205",
   "match": "Hull City v Everton",
   "match_url": "/football/matches/hull-city-vs-everton-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 10.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "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-09T13:12:56.000Z",
   "recorded_at": "2026-10-11T02:30:45.451Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": {
    "at": "2026-10-14T02:01:04.193Z",
    "field": "line sign",
    "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
    "version": 2,
    "url": "/corrections/#c-f1b2048399e9",
    "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
   },
   "evidence": {
    "observation_id": "n-8f87f8e9fddac6518931b205",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 3718,
    "fragment_to": 3756,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/hull-vs-everton-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "d47712b42a17b273c85079feb2c371aae91dcfde72a56f6cdd60a411cc822a6a",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:56.000Z",
    "detected_at": "2026-10-11T02:30:45.451Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-e65525f23524",
     "display_name": "Hull City — Everton",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/hull-city-vs-everton-2026-10-11/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_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-09T13:12:56.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:56.000Z",
     "detected_at": "2026-10-11T02:30:45.451Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Hull City 2-2 Everton."
    },
    "settlements": [
     {
      "operation_id": "1388606f7d00cb6c03bc30ae83c1a1f3bf929f132dfa37b735f03b0ce10c7d04",
      "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": 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": [
     {
      "at": "2026-10-14T02:01:04.193Z",
      "field_name": "line sign",
      "was": "Over/Under −2.5 goals · under −2.5",
      "now": "Over/Under 2.5 goals · under 2.5",
      "cause": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes."
     }
    ],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/hull-vs-everton-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": {
     "at": "2026-10-14T02:01:04.193Z",
     "field": "line sign",
     "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
     "version": 2,
     "url": "/corrections/#c-f1b2048399e9",
     "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
    },
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-795214980fb4dd69e1ad43fe",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-795214980fb4dd69e1ad43fe",
   "match": "Hull City v Everton",
   "match_url": "/football/matches/hull-city-vs-everton-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 10.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "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-09T13:12:56.000Z",
   "recorded_at": "2026-10-11T02:30:45.451Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-795214980fb4dd69e1ad43fe",
    "quote_text": "Les deux équipes marquent: Non.",
    "fragment_from": 3339,
    "fragment_to": 3370,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/hull-vs-everton-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "d47712b42a17b273c85079feb2c371aae91dcfde72a56f6cdd60a411cc822a6a",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:56.000Z",
    "detected_at": "2026-10-11T02:30:45.451Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-e65525f23524",
     "display_name": "Hull City — Everton",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/hull-city-vs-everton-2026-10-11/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_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-09T13:12:56.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:56.000Z",
     "detected_at": "2026-10-11T02:30:45.451Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Hull City 2-2 Everton."
    },
    "settlements": [
     {
      "operation_id": "6fbfce314accc215c7f2e6091f10db24463a0b2501ea60dd3e794e496447f468",
      "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": 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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/hull-vs-everton-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-7a7dbf01ab23b78032197c85",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-7a7dbf01ab23b78032197c85",
   "match": "Hull City v Everton",
   "match_url": "/football/matches/hull-city-vs-everton-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 10.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:12:56.000Z",
   "recorded_at": "2026-10-11T02:30:45.451Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7a7dbf01ab23b78032197c85",
    "quote_text": "Résultat du match (1X2): Nul.",
    "fragment_from": 2952,
    "fragment_to": 2981,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/premier-league/hull-vs-everton-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "d47712b42a17b273c85079feb2c371aae91dcfde72a56f6cdd60a411cc822a6a",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:56.000Z",
    "detected_at": "2026-10-11T02:30:45.451Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-e65525f23524",
     "display_name": "Hull City — Everton",
     "competition_name": "Premier League",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/hull-city-vs-everton-2026-10-11/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_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-09T13:12:56.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:56.000Z",
     "detected_at": "2026-10-11T02:30:45.451Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Hull City 2-2 Everton."
    },
    "settlements": [
     {
      "operation_id": "73a2ef8b9334db9cec2305e217a87c2e578e57dc058bf7e7e6b42bf5be584699",
      "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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/premier-league/hull-vs-everton-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-409d05445a38c27a80ac381e",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-409d05445a38c27a80ac381e",
   "match": "Nice v RC Strasbourg",
   "match_url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 11.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:12:48.000Z",
   "recorded_at": "2026-10-11T01:51:01.594Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-409d05445a38c27a80ac381e",
    "quote_text": "Plus/Moins de buts: Plus de 2,5 buts.",
    "fragment_from": 3573,
    "fragment_to": 3610,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/nice-vs-strasbourg-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "f3c51b20e9c7990211afdf4e3642cbe9c3a00e98f5b25cd086eb16e6366810b8",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:48.000Z",
    "detected_at": "2026-10-11T01:51:01.594Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-98cb3d9d0835",
     "display_name": "Nice — RC Strasbourg",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-09T13:12:48.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:48.000Z",
     "detected_at": "2026-10-11T01:51:01.594Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.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 Nice 2-1 RC Strasbourg."
    },
    "settlements": [
     {
      "operation_id": "83783a8db70573e2fe8655b63ab21c0e709e69b4f3086e5b4521841b58b63e3d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/nice-vs-strasbourg-2026-10-11/",
     "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-474b5bc50a1be2b1f3c7bf2e",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-474b5bc50a1be2b1f3c7bf2e",
   "match": "Nice v RC Strasbourg",
   "match_url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 11.1,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:12:48.000Z",
   "recorded_at": "2026-10-11T01:51:01.594Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-474b5bc50a1be2b1f3c7bf2e",
    "quote_text": "Les deux équipes marquent: Oui.",
    "fragment_from": 3198,
    "fragment_to": 3229,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/nice-vs-strasbourg-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "f3c51b20e9c7990211afdf4e3642cbe9c3a00e98f5b25cd086eb16e6366810b8",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:48.000Z",
    "detected_at": "2026-10-11T01:51:01.594Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-98cb3d9d0835",
     "display_name": "Nice — RC Strasbourg",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_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-09T13:12:48.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:48.000Z",
     "detected_at": "2026-10-11T01:51:01.594Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Nice 2-1 RC Strasbourg."
    },
    "settlements": [
     {
      "operation_id": "b1e7ce4de7523580e4cb6f183269e843e387f5339589b9515496f8a75ed5b187",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/nice-vs-strasbourg-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-04d62e20a66fdbfe2d4f8224",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/2/#pick-n-04d62e20a66fdbfe2d4f8224",
   "match": "Nice v RC Strasbourg",
   "match_url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 11.1,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or RC Strasbourg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-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-09T13:12:48.000Z",
   "recorded_at": "2026-10-11T01:51:01.594Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-04d62e20a66fdbfe2d4f8224",
    "quote_text": "Double chance: Strasbourg ou match nul.",
    "fragment_from": 2886,
    "fragment_to": 2925,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/nice-vs-strasbourg-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "f3c51b20e9c7990211afdf4e3642cbe9c3a00e98f5b25cd086eb16e6366810b8",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:12:48.000Z",
    "detected_at": "2026-10-11T01:51:01.594Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-98cb3d9d0835",
     "display_name": "Nice — RC Strasbourg",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or RC Strasbourg",
    "odds_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-09T13:12:48.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:12:48.000Z",
     "detected_at": "2026-10-11T01:51:01.594Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "draw or RC Strasbourg",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or RC Strasbourg"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Nice 2-1 RC Strasbourg."
    },
    "settlements": [
     {
      "operation_id": "9d7ce652aa63985ae41e492c8721ec19a79499580827110c90cc648815b32b9b",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or RC Strasbourg",
      "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": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/ligue-1/nice-vs-strasbourg-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or RC Strasbourg"
   }
  },
  {
   "record_id": "n-861edcc2fc1d82b1ed842701",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/3/#pick-n-861edcc2fc1d82b1ed842701",
   "match": "Elche v Celta Vigo",
   "match_url": "/football/matches/elche-vs-celta-vigo-2026-10-11/",
   "kickoff": "2026-10-11T12:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 8.5,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Celta Vigo",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:13:01.000Z",
   "recorded_at": "2026-10-11T03:29:48.673Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-861edcc2fc1d82b1ed842701",
    "quote_text": "Double chance Celta Vigo/Pareggio: L'absence de défaite du Celta Vigo sur ses cinq derniers matchs (un succès et quatre nuls) contraste avec les déboires d'Elche qui n'a remporté qu'une victoire dans le même laps de temps.",
    "fragment_from": 3500,
    "fragment_to": 3722,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/la-liga/elche-vs-celta-vigo-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "e2dc74bab28525f3d7b37332bb25c9543f6b06d1524851124ddbba475d3a6bab",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:13:01.000Z",
    "detected_at": "2026-10-11T03:29:48.673Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-7f51e7225c5b",
     "display_name": "Elche — Celta Vigo",
     "competition_name": "LaLiga",
     "starts_at": "2026-10-11T12:00:00.000Z",
     "url": "/football/matches/elche-vs-celta-vigo-2026-10-11/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Celta Vigo",
    "odds_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-09T13:13:01.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:13:01.000Z",
     "detected_at": "2026-10-11T03:29:48.673Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Double chance",
     "choice": "draw or Celta Vigo",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Celta Vigo"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Elche 0-0 Celta Vigo."
    },
    "settlements": [
     {
      "operation_id": "270e0f42ec0fed5ff41a7579e354b5edeef097e08e1e18b3383351c55cc312f1",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Celta Vigo",
      "decimal_odds": "1.4042",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-11T03:42:59.001Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/la-liga/elche-vs-celta-vigo-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Celta Vigo"
   }
  },
  {
   "record_id": "n-f84b820103543fe68854b94b",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-f84b820103543fe68854b94b",
   "match": "Como v AS Roma",
   "match_url": "/football/matches/como-vs-as-roma-2026-10-11/",
   "kickoff": "2026-10-11T10:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 5.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-09T13:24:01.000Z",
   "recorded_at": "2026-10-11T05:30:58.438Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f84b820103543fe68854b94b",
    "quote_text": "un match avec au moins trois buts au total semble probable.",
    "fragment_from": 4024,
    "fragment_to": 4083,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/como-vs-roma-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "6117d65f20845aed805e61cae8efe02a498193121c6769a6fa27a0ce8d6330de",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:01.000Z",
    "detected_at": "2026-10-11T05:30:58.438Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-7674778c71d5",
     "display_name": "Como — AS Roma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T10:30:00.000Z",
     "url": "/football/matches/como-vs-as-roma-2026-10-11/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_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-09T13:24:01.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:01.000Z",
     "detected_at": "2026-10-11T05:30:58.438Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Como 0-0 AS Roma."
    },
    "settlements": [
     {
      "operation_id": "d31ca9ac24a6ded98c65b16695ab3ae7cb27952222e01d7bb96b863814f3036d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/como-vs-roma-2026-10-11/",
     "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-e7640cf8151ec4846379f8fc",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/4/#pick-n-e7640cf8151ec4846379f8fc",
   "match": "Como v AS Roma",
   "match_url": "/football/matches/como-vs-as-roma-2026-10-11/",
   "kickoff": "2026-10-11T10:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 5.0,
   "market_code": "player_to_score",
   "author_said": "Player to score: Donyell Malen to score",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:24:01.000Z",
   "recorded_at": "2026-10-11T05:30:58.438Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e7640cf8151ec4846379f8fc",
    "quote_text": "Donyell Malen buteur à tout moment.",
    "fragment_from": 3453,
    "fragment_to": 3488,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/serie-a/como-vs-roma-2026-10-11/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "6117d65f20845aed805e61cae8efe02a498193121c6769a6fa27a0ce8d6330de",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:24:01.000Z",
    "detected_at": "2026-10-11T05:30:58.438Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-7674778c71d5",
     "display_name": "Como — AS Roma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T10:30:00.000Z",
     "url": "/football/matches/como-vs-as-roma-2026-10-11/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Donyell Malen to score",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-09T13:24:01.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-09T13:24:01.000Z",
     "detected_at": "2026-10-11T05:30:58.438Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Donyell Malen to score",
     "author_odds": null,
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Donyell Malen to score"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost — Donyell Malen scored 0 goals; the final score was Como 0-0 AS Roma."
    },
    "settlements": [
     {
      "operation_id": "b1661b7c8c8f7b9354b2d130345156dd1c20adf64657fcf4e02dfb4da0a92db8",
      "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": "Donyell Malen to score",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Ouest-France paris sportifs",
     "publisher": "Ouest-France paris sportifs",
     "forecaster": "Ouest-France paris sportifs",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://paris-sportifs.ouest-france.fr/football/serie-a/como-vs-roma-2026-10-11/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Donyell Malen to score"
   }
  },
  {
   "record_id": "n-b96f8e18c9687a66f0b53922",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: Torino - Malgré les 9 buts concédés sur la période, les Grenats ont conservé leur cage inviolée dans au moins l'une de leurs récentes sorties. Monza souffre en attaque avec 13…",
   "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-20T00:23:33.000Z",
   "recorded_at": "2026-10-20T01:29:54.113Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-fb851dbf8d023a7692d5eea8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Moins de 2,5 buts.",
   "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-20T00:23:31.000Z",
   "recorded_at": "2026-10-20T01:29:51.182Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-fa42428888214b302ea3138f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: 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-20T00:23:31.000Z",
   "recorded_at": "2026-10-20T01:29:51.182Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-4bcc9e715450d2f42905fdde",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Victoire du VfB 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-20T00:23:31.000Z",
   "recorded_at": "2026-10-20T01:29:51.182Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-71dfe27eddc2ba37f96c71ca",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Moins de 2.5.",
   "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-18T00:22:25.000Z",
   "recorded_at": "2026-10-18T00:29:32.203Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-543141b8b99a1e687dfd3331",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non.",
   "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-18T00:22:25.000Z",
   "recorded_at": "2026-10-18T00:29:32.203Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-e463a78bf6d208623700970e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Athletic Bilbao.",
   "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-18T00:22:25.000Z",
   "recorded_at": "2026-10-18T00:29:32.203Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-0aed2798dbb2000da2cac053",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Moins de 2,5",
   "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-17T00:26:08.000Z",
   "recorded_at": "2026-10-17T00:29:47.753Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-64e70678e401e0282346a310",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T00:26:08.000Z",
   "recorded_at": "2026-10-17T00:29:47.753Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-d238551b6b76a0bd605126f1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Napoli",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T00:26:08.000Z",
   "recorded_at": "2026-10-17T00:29:47.753Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-adce6bcc8c68f31bfe6fcd4f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Plus de 2.5 - Les trois derniers matches entre les deux équipes ont produit une moyenne de 4 buts. PSG et Barcelona maintiennent tous deux des rendements offensifs supérieurs à…",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T00:26:07.000Z",
   "recorded_at": "2026-10-17T00:29:48.730Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-476beb44ae824af768be9103",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent - L'historique entre ces deux clubs montre que dans 85% de leurs duels, chacun a trouvé le filet. Avec 10 buts du PSG et 9 du Barcelona en deux matches, cette sélection…",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T00:26:07.000Z",
   "recorded_at": "2026-10-17T00:29:48.730Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-77e0c742e8d1f3489d5e494d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Nul - Lors des treize dernières confrontations, un partage s'est produit à trois reprises. L'équilibre affiché au classement et la différence de buts quasi identique font…",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T00:26:07.000Z",
   "recorded_at": "2026-10-17T00:29:48.730Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-02e0435faf184b9fdbb6303f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Plus de 2.5",
   "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-17T00:26:05.000Z",
   "recorded_at": "2026-10-17T00:29:45.939Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-20a8e4cc4e444bc1cde4c563",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Oui",
   "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-17T00:26:05.000Z",
   "recorded_at": "2026-10-17T00:29:45.939Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-d700e45349424a3aaa4e23ae",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Liverpool",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T00:26:05.000Z",
   "recorded_at": "2026-10-17T00:29:45.939Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-8627aa15385cdbd7ffd19829",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: Non.",
   "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-16T00:22:30.000Z",
   "recorded_at": "2026-10-17T21:09:40.976Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-282e5ed575635947289ca4af",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Moins de 2,5 buts.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T00:23:44.000Z",
   "recorded_at": "2026-10-15T00:29:36.465Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-784fe0658a4e262960415a6b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T00:23:44.000Z",
   "recorded_at": "2026-10-15T00:29:36.465Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-b98932730061ce5d28304adf",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Angers.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T00:23:44.000Z",
   "recorded_at": "2026-10-15T00:29:36.465Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-72a80278005cd000eaa942b8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Victoire Borussia Dortmund.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T00:24:42.000Z",
   "recorded_at": "2026-10-14T05:29:34.338Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-8c53d50dbc01264fcfd02761",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Match nul",
   "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-14T00:24:41.000Z",
   "recorded_at": "2026-10-14T04:29:53.624Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-703804d2c14d3f4574c1e5e0",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Oui",
   "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-14T00:24:41.000Z",
   "recorded_at": "2026-10-14T04:29:53.624Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-962f7168fb7037bcc25acaa2",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Plus de 2,5",
   "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-14T00:24:41.000Z",
   "recorded_at": "2026-10-14T04:29:53.624Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-e30ebae408aa24cd42e28303",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Moins de 2.5.",
   "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-14T00:24:40.000Z",
   "recorded_at": "2026-10-14T03:29:37.477Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-8d7f642cfd96436339840668",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non.",
   "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-14T00:24:40.000Z",
   "recorded_at": "2026-10-14T03:29:37.477Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-47333d70c10b7f2655557d35",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Athletic Bilbao.",
   "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-14T00:24:40.000Z",
   "recorded_at": "2026-10-14T03:29:37.477Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-b48aceaaed4b0997fe193302",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non",
   "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-14T00:24:28.000Z",
   "recorded_at": "2026-10-14T00:29:33.500Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-f1a5116ac5c4f347c7b801b0",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: Lens",
   "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-14T00:24:28.000Z",
   "recorded_at": "2026-10-14T00:29:33.500Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-51231ab6470df330b0b2cd70",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Lens",
   "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-14T00:24:28.000Z",
   "recorded_at": "2026-10-14T00:29:33.500Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-c4ce80351706911acba80ee3",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Nombre de buts: Plus de 2,5 buts.",
   "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-13T00:21:51.000Z",
   "recorded_at": "2026-10-13T00:29:31.943Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-bcca595caa61d2aaf8edfa9c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Oui.",
   "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-13T00:21:51.000Z",
   "recorded_at": "2026-10-13T00:29:31.943Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-3a57756d6b21e6909eb1a348",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match: Victoire de Toulouse.",
   "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-13T00:21:51.000Z",
   "recorded_at": "2026-10-13T00:29:31.943Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-d65af1451e93cbec9b7fd06b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non.",
   "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-10T00:25:09.000Z",
   "recorded_at": "2026-10-11T07:29:37.385Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-3e0c51dc1e8c4b69e4064d39",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Plus de 3,5 buts.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T00:25:09.000Z",
   "recorded_at": "2026-10-11T07:29:37.385Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-4bb3cfe06ee886bac166c682",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Victoire Barcelona.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T00:25:09.000Z",
   "recorded_at": "2026-10-11T07:29:37.385Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-63aa993385591d7bd16b947f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Oui.",
   "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-10T00:25:08.000Z",
   "recorded_at": "2026-10-11T08:29:33.748Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-176e04a9379f1e49b6f4f00d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Victoire Inter.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T00:25:08.000Z",
   "recorded_at": "2026-10-11T08:29:33.748Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-a3ae0449fbf3494f2b6df124",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Plus de 2,5 buts.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T00:25:08.000Z",
   "recorded_at": "2026-10-11T08:29:33.748Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-baaff1a251e8b33b5e208408",
   "url": "/sources/paris-sportifs-ouest-france-fr/picks/5/#pick-n-baaff1a251e8b33b5e208408",
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Moins de 2,5 buts.",
   "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-10T00:25:07.000Z",
   "recorded_at": "2026-10-11T08:29:34.047Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": {
    "at": "2026-10-14T02:01:09.988Z",
    "field": "line sign",
    "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
    "version": 2,
    "url": "/corrections/#c-f1b2048399e9",
    "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
   },
   "evidence": {
    "observation_id": "n-baaff1a251e8b33b5e208408",
    "quote_text": "Plus/Moins de buts: Moins de 2,5 buts.",
    "fragment_from": 3221,
    "fragment_to": 3259,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://paris-sportifs.ouest-france.fr/football/ligue-des-champions/villarreal-vs-napoli-2026-10-13/",
     "display_name": null,
     "speaker": null,
     "authorship": "channel_consensus",
     "media_from_ms": null,
     "bundle_id": "f6a11b0623c4812c053c82b9f922ab63982de5df75d6d82b4da4153ec952993b",
     "material_removed": false
    },
    "published_at": "2026-10-10T00:25:07.000Z",
    "detected_at": "2026-10-11T08:29:34.047Z",
    "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-10T00:25:07.000Z",
     "fragment_basis": "page",
     "source_page_at": "2026-10-10T00:25:07.000Z",
     "detected_at": "2026-10-11T08:29:34.047Z",
     "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": [
     {
      "at": "2026-10-14T02:01:09.988Z",
      "field_name": "line sign",
      "was": "Over/Under −2.5 goals · under −2.5",
      "now": "Over/Under 2.5 goals · under 2.5",
      "cause": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes."
     }
    ],
    "funnel_stage": "prediction",
    "authorship": null,
    "correction": {
     "at": "2026-10-14T02:01:09.988Z",
     "field": "line sign",
     "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
     "version": 2,
     "url": "/corrections/#c-f1b2048399e9",
     "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
    },
    "choice_words": "a pick"
   }
  },
  {
   "record_id": "n-9405bdfc52f03092f32c4022",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non.",
   "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-10T00:25:07.000Z",
   "recorded_at": "2026-10-11T08:29:34.047Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-6159efc5b2220de4892d5bcc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match: Villarreal.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T00:25:07.000Z",
   "recorded_at": "2026-10-11T08:29:34.047Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-b2ae3a7c5df7c5288f7ffd54",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: Non.",
   "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-09T13:24:10.000Z",
   "recorded_at": "2026-10-11T07:29:36.982Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-15fce0806795abc46053982d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: Non.",
   "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-09T13:24:07.000Z",
   "recorded_at": "2026-10-11T03:29:48.321Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-42b26b321c7073c9698ec38c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: AC Milan.",
   "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-09T13:24:04.000Z",
   "recorded_at": "2026-10-11T06:29:47.787Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-06f8c4b1860e8440cdae0c54",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Plus/Moins de buts: Moins de 2,5 buts. Les débâcles défensives de Borussia Mgladbach sont réelles, mais c'est surtout son impuissance offensive qui prime. La solidité relative de FC Köln à…",
   "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-09T13:23:59.000Z",
   "recorded_at": "2026-10-11T05:30:57.896Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-82966062426b4875a2379963",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Non. Avec seulement 6 buts en quatre matchs, Borussia Mgladbach souffre d'une pénurie offensive criante. FC Köln, qui a encaissé 9 buts, devrait pouvoir préserver son…",
   "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-09T13:23:59.000Z",
   "recorded_at": "2026-10-11T05:30:57.896Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-8992fe85bfd88109e8e5dc65",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Victoire de FC Köln. Le bilan à domicile des Rhénans (une victoire, un match nul) contraste fortement avec l'incapacité totale de Borussia Mgladbach à l'emporter cette…",
   "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-09T13:23:59.000Z",
   "recorded_at": "2026-10-11T05:30:57.896Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-43100e7f6182963123e09ef5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Blanchissage: Valencia n'a maintenu aucune feuille blanche lors de ses cinq derniers matchs, tandis que Racing a encaissé des buts lors de ses quatre derniers matchs compétitifs. Aucune des deux…",
   "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-09T13:23:58.000Z",
   "recorded_at": "2026-10-11T04:29:43.796Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-567bdc8d97176a69b6ae44fb",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé Celta Vigo: Avec 6 buts seulement concédés en 7 rencontres, le Celta Vigo affiche une compacité défensive qui tranche avec la faiblesse offensive d'Elche.",
   "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-09T13:13:01.000Z",
   "recorded_at": "2026-10-11T03:29:48.673Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-40b568ea0276a887d6bac16a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Aucun but encaissé: Non.",
   "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-09T13:12:52.000Z",
   "recorded_at": "2026-10-11T01:51:02.209Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-36db228717f20b0e0f87a3a7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Les deux équipes marquent: Oui.",
   "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-09T13:12:52.000Z",
   "recorded_at": "2026-10-11T01:51:02.209Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-0958e28729453e5edebd5115",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Résultat du match (1X2): Match nul.",
   "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-09T13:12:52.000Z",
   "recorded_at": "2026-10-11T01:51:02.209Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 101,
  "before_kickoff": 101,
  "after_kickoff": 0,
  "at_least_2h": 101,
  "share_2h_plus": 100.0,
  "median_hours": 41.1,
  "min_hours": 5.0,
  "max_hours": 90.5,
  "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": 25,
  "settled_picks_all": 50,
  "excluded": {
   "market_without_favourite": 6,
   "no_recorded_line": 19,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 250000,
  "author_net_hundredths": -116688,
  "favourite_net_hundredths": 23527,
  "difference_hundredths": -140215,
  "author_return_percent": -46.68,
  "favourite_return_percent": 9.41,
  "author_hit_rate": 32.0,
  "favourite_hit_rate": 64.0,
  "picked_favourite_share": 56.0,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 9,
    "staked_hundredths": 90000,
    "author_net_hundredths": -61798,
    "favourite_net_hundredths": -19774,
    "author_hits": 2,
    "favourite_hits": 4,
    "picked_favourite": 6,
    "author_return_percent": -68.66,
    "favourite_return_percent": -21.97
   },
   {
    "market_code": "both_teams_score",
    "picks": 8,
    "staked_hundredths": 80000,
    "author_net_hundredths": -30355,
    "favourite_net_hundredths": 38852,
    "author_hits": 3,
    "favourite_hits": 7,
    "picked_favourite": 4,
    "author_return_percent": -37.94,
    "favourite_return_percent": 48.56
   },
   {
    "market_code": "total",
    "picks": 8,
    "staked_hundredths": 80000,
    "author_net_hundredths": -24535,
    "favourite_net_hundredths": 4449,
    "author_hits": 3,
    "favourite_hits": 5,
    "picked_favourite": 4,
    "author_return_percent": -30.67,
    "favourite_return_percent": 5.56
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-11T12:00:00.000Z",
    "author_cumulative_hundredths": 7870,
    "favourite_cumulative_hundredths": 7870
   },
   {
    "kickoff": "2026-10-11T13:00:00.000Z",
    "author_cumulative_hundredths": -2130,
    "favourite_cumulative_hundredths": -2130
   },
   {
    "kickoff": "2026-10-11T13:00:00.000Z",
    "author_cumulative_hundredths": -12130,
    "favourite_cumulative_hundredths": 4627
   },
   {
    "kickoff": "2026-10-11T13:00:00.000Z",
    "author_cumulative_hundredths": -22130,
    "favourite_cumulative_hundredths": 14151
   },
   {
    "kickoff": "2026-10-11T15:15:00.000Z",
    "author_cumulative_hundredths": -32130,
    "favourite_cumulative_hundredths": 20645
   },
   {
    "kickoff": "2026-10-11T15:15:00.000Z",
    "author_cumulative_hundredths": -27928,
    "favourite_cumulative_hundredths": 24847
   },
   {
    "kickoff": "2026-10-11T15:30:00.000Z",
    "author_cumulative_hundredths": -37928,
    "favourite_cumulative_hundredths": 14847
   },
   {
    "kickoff": "2026-10-11T15:30:00.000Z",
    "author_cumulative_hundredths": -47928,
    "favourite_cumulative_hundredths": 27347
   },
   {
    "kickoff": "2026-10-11T16:00:00.000Z",
    "author_cumulative_hundredths": -57928,
    "favourite_cumulative_hundredths": 17347
   },
   {
    "kickoff": "2026-10-11T16:30:00.000Z",
    "author_cumulative_hundredths": -67928,
    "favourite_cumulative_hundredths": 25611
   },
   {
    "kickoff": "2026-10-11T16:30:00.000Z",
    "author_cumulative_hundredths": -77928,
    "favourite_cumulative_hundredths": 32911
   },
   {
    "kickoff": "2026-10-11T19:00:00.000Z",
    "author_cumulative_hundredths": -70933,
    "favourite_cumulative_hundredths": 39906
   },
   {
    "kickoff": "2026-10-11T19:00:00.000Z",
    "author_cumulative_hundredths": -65614,
    "favourite_cumulative_hundredths": 45225
   },
   {
    "kickoff": "2026-10-12T19:00:00.000Z",
    "author_cumulative_hundredths": -75614,
    "favourite_cumulative_hundredths": 52218
   },
   {
    "kickoff": "2026-10-12T19:00:00.000Z",
    "author_cumulative_hundredths": -85614,
    "favourite_cumulative_hundredths": 42218
   },
   {
    "kickoff": "2026-10-12T19:00:00.000Z",
    "author_cumulative_hundredths": -75014,
    "favourite_cumulative_hundredths": 32218
   },
   {
    "kickoff": "2026-10-12T19:00:00.000Z",
    "author_cumulative_hundredths": -67140,
    "favourite_cumulative_hundredths": 40092
   },
   {
    "kickoff": "2026-10-16T19:00:00.000Z",
    "author_cumulative_hundredths": -77140,
    "favourite_cumulative_hundredths": 30092
   },
   {
    "kickoff": "2026-10-17T14:15:00.000Z",
    "author_cumulative_hundredths": -87140,
    "favourite_cumulative_hundredths": 20092
   },
   {
    "kickoff": "2026-10-17T15:15:00.000Z",
    "author_cumulative_hundredths": -83140,
    "favourite_cumulative_hundredths": 24092
   },
   {
    "kickoff": "2026-10-17T18:45:00.000Z",
    "author_cumulative_hundredths": -93140,
    "favourite_cumulative_hundredths": 14092
   },
   {
    "kickoff": "2026-10-17T18:45:00.000Z",
    "author_cumulative_hundredths": -86688,
    "favourite_cumulative_hundredths": 20544
   },
   {
    "kickoff": "2026-10-19T19:00:00.000Z",
    "author_cumulative_hundredths": -96688,
    "favourite_cumulative_hundredths": 25835
   },
   {
    "kickoff": "2026-10-21T19:00:00.000Z",
    "author_cumulative_hundredths": -106688,
    "favourite_cumulative_hundredths": 15835
   },
   {
    "kickoff": "2026-10-23T18:45:00.000Z",
    "author_cumulative_hundredths": -116688,
    "favourite_cumulative_hundredths": 23527
   }
  ],
  "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": 154,
  "pages": 9,
  "page_urls": [
   "/sources/paris-sportifs-ouest-france-fr/",
   "/sources/paris-sportifs-ouest-france-fr/picks/2/",
   "/sources/paris-sportifs-ouest-france-fr/picks/3/",
   "/sources/paris-sportifs-ouest-france-fr/picks/4/",
   "/sources/paris-sportifs-ouest-france-fr/picks/5/",
   "/sources/paris-sportifs-ouest-france-fr/picks/6/",
   "/sources/paris-sportifs-ouest-france-fr/picks/7/",
   "/sources/paris-sportifs-ouest-france-fr/picks/8/",
   "/sources/paris-sportifs-ouest-france-fr/picks/9/"
  ],
  "groups": {
   "settled": 50,
   "pending": 0,
   "excluded": 104
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/sources/paris-sportifs-ouest-france-fr/",
  "current": false
 },
 "title_tag": "Ouest-France paris sportifs: Football Prediction Record",
 "calculator": {
  "url": "/tools/luck-or-skill/?n=50&odds=1.99&roi=-19.0&src=record",
  "n": 50,
  "odds": "1.99",
  "roi": "-19.0",
  "series": "Recorded before kick-off, at our recorded market price"
 },
 "source_info": {
  "code_name": "paris-sportifs-ouest-france-fr",
  "display_name": "Ouest-France paris sportifs",
  "type_code": "channel",
  "domains": [
   "paris-sportifs.ouest-france.fr"
  ],
  "owner": null,
  "check": {
   "when": null,
   "source_list": []
  },
  "url": "/sources/paris-sportifs-ouest-france-fr/",
  "products": [
   {
    "code_name": "ouest-france-paris-sportifs",
    "display_name": "Ouest-France paris sportifs",
    "type_code": "column",
    "url": "/sources/paris-sportifs-ouest-france-fr/",
    "entity_ref": "e-ad551d9e75e7ce9b7cb2722f",
    "summary": {
     "statements": 479,
     "predictions": 154,
     "settled_picks": 50,
     "headline_kind": "live_snapshot",
     "return_percent": -18.97,
     "headline_part": "live",
     "period_from": "2026-10-11",
     "period_to": "2026-11-07"
    }
   }
  ],
  "author_list": [],
  "authors_count": 0,
  "auto": true,
  "product": "ouest-france-paris-sportifs",
  "product_page": false
 },
 "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": 50,
   "matches": 24,
   "void": 0,
   "period_from": "2026-10-11",
   "period_to": "2026-10-23",
   "composition_hash": "2965fafb54fc37f0f2c381a7993166cb16a5c32286edfd79f85f8dc521409d10"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-325cc3bb2d5c4cfc3f41",
   "at": "2026-11-07T20:05:20.937Z",
   "data_version": "2026-11-07.2",
   "previous_data_version": "2026-11-07.1",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-07.1",
    "return_percent": "-20.70",
    "settled_picks": 47,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "47999d9f514ed45edae2f32aac8fbdbef4015889eeac2426f6675cafea002c99",
    "text": "−20.70% on 47 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-07.2",
    "return_percent": "-18.97",
    "settled_picks": 50,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "2965fafb54fc37f0f2c381a7993166cb16a5c32286edfd79f85f8dc521409d10",
    "text": "−18.97% 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-794c8147c709d7602f41",
   "at": "2026-11-07T07:42:45.749Z",
   "data_version": "2026-11-07.1",
   "previous_data_version": "2026-11-06.2",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-06.2",
    "return_percent": "-38.87",
    "settled_picks": 38,
    "matches": 22,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "248cddca9b9bc22cd7df1bac0a7ba6b70c197b8a3dda39b4f38226735e9af5bd",
    "text": "−38.87% on 38 settled picks across 22 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-07.1",
    "return_percent": "-20.70",
    "settled_picks": 47,
    "matches": 24,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "47999d9f514ed45edae2f32aac8fbdbef4015889eeac2426f6675cafea002c99",
    "text": "−20.70% on 47 settled picks across 24 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 9 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": 9,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-6defad86a5204aa4c988",
   "at": "2026-11-07T00:03:19.781Z",
   "data_version": "2026-11-06.2",
   "previous_data_version": "2026-11-06.1",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-24.1",
    "return_percent": "-41.66",
    "settled_picks": 33,
    "matches": 20,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "c0a0f9d8c7a40c3ee2606dbe1b71e8664749bf0ed0200c00aa09a0a914c61971",
    "text": "−41.66% on 33 settled picks across 20 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-06.2",
    "return_percent": "-38.87",
    "settled_picks": 38,
    "matches": 22,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "248cddca9b9bc22cd7df1bac0a7ba6b70c197b8a3dda39b4f38226735e9af5bd",
    "text": "−38.87% on 38 settled picks across 22 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-0ead7a82ac41edb370c2",
   "at": "2026-10-24T01:51:11.728Z",
   "data_version": "2026-10-24.1",
   "previous_data_version": "2026-10-23.4",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-22.5",
    "return_percent": "-43.71",
    "settled_picks": 29,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "9761950c8f9df4b36b0d0a4d70389f8b6c65734514e2704a7b2d8ee073418259",
    "text": "−43.71% on 29 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-24.1",
    "return_percent": "-41.66",
    "settled_picks": 33,
    "matches": 20,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "c0a0f9d8c7a40c3ee2606dbe1b71e8664749bf0ed0200c00aa09a0a914c61971",
    "text": "−41.66% on 33 settled picks across 20 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 4 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": 4,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-087e14aacd25161a7375",
   "at": "2026-10-22T18:00:17.739Z",
   "data_version": "2026-10-22.5",
   "previous_data_version": "2026-10-22.4",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-22.4",
    "return_percent": "-47.42",
    "settled_picks": 28,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "c6961d0fbb448e269678894f84443d90b6f1c8c9c8b50ffa9ae410685388c737",
    "text": "−47.42% on 28 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-22.5",
    "return_percent": "-43.71",
    "settled_picks": 29,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "9761950c8f9df4b36b0d0a4d70389f8b6c65734514e2704a7b2d8ee073418259",
    "text": "−43.71% on 29 settled picks across 17 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-c6332a1b5d1e6e66502c",
   "at": "2026-10-22T13:04:00.441Z",
   "data_version": "2026-10-22.4",
   "previous_data_version": "2026-10-22.3",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-21.3",
    "return_percent": "-45.47",
    "settled_picks": 27,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b70bcd3d7f8358871c193e7937f32746826f5dd8b89c35eac56c172dba7be8d8",
    "text": "−45.47% on 27 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-22.4",
    "return_percent": "-47.42",
    "settled_picks": 28,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "c6961d0fbb448e269678894f84443d90b6f1c8c9c8b50ffa9ae410685388c737",
    "text": "−47.42% on 28 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Data corrected: line sign (1 pick); 1 pick added.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": "i-e70ef36b8571554dad92"
  },
  {
   "id": "zc-26e8db5681199b8ba920",
   "at": "2026-10-21T22:08:07.744Z",
   "data_version": "2026-10-21.3",
   "previous_data_version": "2026-10-21.2",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-19.7",
    "return_percent": "-43.37",
    "settled_picks": 26,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "6b00745410cddf246410e1f9f9f9ea1bfdd35038d064c36e30d719f0ae3530e1",
    "text": "−43.37% on 26 settled picks across 16 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-21.3",
    "return_percent": "-45.47",
    "settled_picks": 27,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b70bcd3d7f8358871c193e7937f32746826f5dd8b89c35eac56c172dba7be8d8",
    "text": "−45.47% on 27 settled picks across 17 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-ba9e1cc36c31836e01d3",
   "at": "2026-10-19T23:18:20.062Z",
   "data_version": "2026-10-19.7",
   "previous_data_version": "2026-10-19.6",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-19.6",
    "return_percent": "-35.78",
    "settled_picks": 26,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b5f916623202698aa00a0499cb17c657866c99afd1d6d3191c0be0c07cfb5aaf",
    "text": "−35.78% on 26 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-19.7",
    "return_percent": "-43.37",
    "settled_picks": 26,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "6b00745410cddf246410e1f9f9f9ea1bfdd35038d064c36e30d719f0ae3530e1",
    "text": "−43.37% on 26 settled picks across 16 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Data corrected: 2 picks left the headline sample; 2 picks added.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 2,
    "changed": 0
   },
   "correction_id": "i-9518680ee4a570974378"
  },
  {
   "id": "zc-83fa0230c5885e211e85",
   "at": "2026-10-19T19:39:27.559Z",
   "data_version": "2026-10-19.6",
   "previous_data_version": "2026-10-19.5",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-18.8",
    "return_percent": "-36.77",
    "settled_picks": 31,
    "matches": 18,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "bcacc62c417a3d5c357d08944da8f0ec4d8a28ebdc333225a8a761145d565e0f",
    "text": "−36.77% on 31 settled picks across 18 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-19.6",
    "return_percent": "-35.78",
    "settled_picks": 26,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b5f916623202698aa00a0499cb17c657866c99afd1d6d3191c0be0c07cfb5aaf",
    "text": "−35.78% on 26 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Data corrected: 5 picks left the headline sample.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 5,
    "changed": 0
   },
   "correction_id": "i-fa40fdbfc8ba42e521e7"
  },
  {
   "id": "zc-cf1838d9a82775760d40",
   "at": "2026-10-18T21:29:31.006Z",
   "data_version": "2026-10-18.8",
   "previous_data_version": "2026-10-18.7",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-18.1",
    "return_percent": "-34.66",
    "settled_picks": 30,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "83200336a1f4b0b6d3e7d9ab531f2a0f25336f99887be4dcd4758c246254fc9a",
    "text": "−34.66% on 30 settled picks across 17 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-18.8",
    "return_percent": "-36.77",
    "settled_picks": 31,
    "matches": 18,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "bcacc62c417a3d5c357d08944da8f0ec4d8a28ebdc333225a8a761145d565e0f",
    "text": "−36.77% on 31 settled picks across 18 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-44b2a8af9c0b43703ef0",
   "at": "2026-10-18T01:26:50.135Z",
   "data_version": "2026-10-18.1",
   "previous_data_version": "2026-10-17.5",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-17.4",
    "return_percent": "-33.50",
    "settled_picks": 27,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "0f01e911e45ea4748e08e9db73d4241ff15094dcee8b27eb87535d1351f349c4",
    "text": "−33.50% on 27 settled picks across 16 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-18.1",
    "return_percent": "-34.66",
    "settled_picks": 30,
    "matches": 17,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "83200336a1f4b0b6d3e7d9ab531f2a0f25336f99887be4dcd4758c246254fc9a",
    "text": "−34.66% on 30 settled picks across 17 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-0002164443025308f560",
   "at": "2026-10-17T20:13:03.224Z",
   "data_version": "2026-10-17.4",
   "previous_data_version": "2026-10-17.3",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-15.7",
    "return_percent": "-29.51",
    "settled_picks": 21,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "69996beee84229d886b510026d46b63d331b638ddde54cc136322f1700ee4753",
    "text": "−29.51% on 21 settled picks across 11 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-17.4",
    "return_percent": "-33.50",
    "settled_picks": 27,
    "matches": 16,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "0f01e911e45ea4748e08e9db73d4241ff15094dcee8b27eb87535d1351f349c4",
    "text": "−33.50% on 27 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); also 3 new results.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 6,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-25787c112332e0d9866d",
   "at": "2026-10-15T19:51:34.525Z",
   "data_version": "2026-10-15.7",
   "previous_data_version": "2026-10-15.6",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-15.5",
    "return_percent": "-34.05",
    "settled_picks": 20,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "7c2b63647a1c3def1373ba6af91343da3aa95ccf3fbc06b3e67054794ff1cda1",
    "text": "−34.05% on 20 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-15.7",
    "return_percent": "-29.51",
    "settled_picks": 21,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "69996beee84229d886b510026d46b63d331b638ddde54cc136322f1700ee4753",
    "text": "−29.51% on 21 settled picks across 11 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-4714f3e50eed10c1b522",
   "at": "2026-10-15T18:43:19.205Z",
   "data_version": "2026-10-15.5",
   "previous_data_version": "2026-10-15.4",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-14.1",
    "return_percent": "-29.51",
    "settled_picks": 21,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "69996beee84229d886b510026d46b63d331b638ddde54cc136322f1700ee4753",
    "text": "−29.51% on 21 settled picks across 11 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-15.5",
    "return_percent": "-34.05",
    "settled_picks": 20,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "7c2b63647a1c3def1373ba6af91343da3aa95ccf3fbc06b3e67054794ff1cda1",
    "text": "−34.05% on 20 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Data corrected: 1 pick left the headline sample.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 1,
    "changed": 0
   },
   "correction_id": "i-158ed2b78fa2156d0c1a"
  },
  {
   "id": "zc-fe8563ccb6414f7b093a",
   "at": "2026-10-14T02:20:02.267Z",
   "data_version": "2026-10-14.1",
   "previous_data_version": "2026-10-13.7",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-12.7",
    "return_percent": "-25.98",
    "settled_picks": 20,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "0bd98094524bc2c247bea31367706f9df6ec91bbbf22a8a19f5fab5a8073db9e",
    "text": "−25.98% on 20 settled picks across 11 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-14.1",
    "return_percent": "-29.51",
    "settled_picks": 21,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "69996beee84229d886b510026d46b63d331b638ddde54cc136322f1700ee4753",
    "text": "−29.51% on 21 settled picks across 11 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Data corrected: line sign (1 pick); 1 pick added.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": "i-23b7674b7bb0f2d9ee2a"
  },
  {
   "id": "zc-bcd447a35cea4fa5cea5",
   "at": "2026-10-12T22:42:38.057Z",
   "data_version": "2026-10-12.7",
   "previous_data_version": "2026-10-12.6",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-12.5",
    "return_percent": "-39.13",
    "settled_picks": 18,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "7297e72df6231f0b31e4bddb5d459c41893523b83906d5cbaeed7c5f86b80ddf",
    "text": "−39.13% on 18 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-12.7",
    "return_percent": "-25.98",
    "settled_picks": 20,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "0bd98094524bc2c247bea31367706f9df6ec91bbbf22a8a19f5fab5a8073db9e",
    "text": "−25.98% on 20 settled picks across 11 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-e9d03aba8ad31d20a719",
   "at": "2026-10-12T21:23:00.584Z",
   "data_version": "2026-10-12.5",
   "previous_data_version": "2026-10-12.4",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-11.8",
    "return_percent": "-31.52",
    "settled_picks": 16,
    "matches": 9,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "7fa69ae3f41eb53cdedcb4bc14a0455bc9abfc458a0415d3634df54c80629968",
    "text": "−31.52% on 16 settled picks across 9 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-12.5",
    "return_percent": "-39.13",
    "settled_picks": 18,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "7297e72df6231f0b31e4bddb5d459c41893523b83906d5cbaeed7c5f86b80ddf",
    "text": "−39.13% on 18 settled picks across 10 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-b3017f20d40352a8f5e8",
   "at": "2026-10-11T21:54:36.315Z",
   "data_version": "2026-10-11.8",
   "previous_data_version": "2026-10-11.7",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-11.7",
    "return_percent": "-44.82",
    "settled_picks": 14,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b63535cbe2d80d9042f9a6590d0118d73801c2c63d88b2f95f2531d638ff69d8",
    "text": "−44.82% on 14 settled picks across 8 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-11.8",
    "return_percent": "-31.52",
    "settled_picks": 16,
    "matches": 9,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "7fa69ae3f41eb53cdedcb4bc14a0455bc9abfc458a0415d3634df54c80629968",
    "text": "−31.52% on 16 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-e497115701877d46ac34",
   "at": "2026-10-11T20:14:51.236Z",
   "data_version": "2026-10-11.7",
   "previous_data_version": "2026-10-11.6",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-11.6",
    "return_percent": "-47.88",
    "settled_picks": 9,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "ba7e74475b204fe04c33b0d04e0da303823df8cebe2dc304cf1100948f2af0bd",
    "text": "−430.88 points on 9 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-11.7",
    "return_percent": "-44.82",
    "settled_picks": 14,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b63535cbe2d80d9042f9a6590d0118d73801c2c63d88b2f95f2531d638ff69d8",
    "text": "−44.82% on 14 settled picks across 8 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-a247e184e217d3b2178d",
   "at": "2026-10-11T19:38:24.634Z",
   "data_version": "2026-10-11.6",
   "previous_data_version": "2026-10-11.5",
   "url": "/sources/paris-sportifs-ouest-france-fr/",
   "category": "method_changed",
   "category_words": "Method changed",
   "before": null,
   "after": {
    "data_version": "2026-10-11.6",
    "return_percent": "-47.88",
    "settled_picks": 9,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "ba7e74475b204fe04c33b0d04e0da303823df8cebe2dc304cf1100948f2af0bd",
    "text": "−430.88 points on 9 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Method 2.2 (11 October 2026): the live market price of a pick is now the price at the moment we first recorded it (median of bookmakers in our price feed, quote no older than 5 minutes; failing that, the first price within 2 hours after, before kick-off), not the price when our checks admitted it. Picks recorded before kick-off but checked after it are now settled the same way; picks with no price at that moment have no return. First headline number for this record: 9 settled picks.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 9,
    "removed": 0,
    "changed": 0
   },
   "correction_id": "i-5d014b6ddf232b1e9018"
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 50,
    "total_check": true,
    "market_list": [
     {
      "code_name": "both_teams_score",
      "in_words": "Both teams to score",
      "url": null,
      "settled_picks": 19,
      "won": 10,
      "void": 0,
      "net_points_hundredths": -8536,
      "return_percent": "-4.5",
      "period_from": "2026-10-11",
      "period_to": "2026-10-23",
      "small_sample": false,
      "average_odds": "1.90",
      "odds_from_author": 0,
      "odds_from_snapshot": 19
     },
     {
      "code_name": "total",
      "in_words": "Over/under goals",
      "url": null,
      "settled_picks": 15,
      "won": 8,
      "void": 0,
      "net_points_hundredths": 2268,
      "return_percent": "1.5",
      "period_from": "2026-10-11",
      "period_to": "2026-10-23",
      "small_sample": false,
      "average_odds": "1.99",
      "odds_from_author": 0,
      "odds_from_snapshot": 15
     },
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 10,
      "won": 2,
      "void": 0,
      "net_points_hundredths": -71798,
      "return_percent": "-71.8",
      "period_from": "2026-10-11",
      "period_to": "2026-10-21",
      "small_sample": false,
      "average_odds": "2.49",
      "odds_from_author": 0,
      "odds_from_snapshot": 10
     },
     {
      "code_name": "double_chance",
      "in_words": "Double chance",
      "url": null,
      "settled_picks": 6,
      "won": 3,
      "void": 0,
      "net_points_hundredths": -16774,
      "return_percent": "-28.0",
      "period_from": "2026-10-11",
      "period_to": "2026-10-23",
      "small_sample": true,
      "average_odds": "1.46",
      "odds_from_author": 0,
      "odds_from_snapshot": 6
     }
    ],
    "leagues": [
     {
      "code_name": "LaLiga",
      "in_words": "LaLiga",
      "url": "/football/competitions/laliga/",
      "settled_picks": 20,
      "won": 12,
      "void": 0,
      "net_points_hundredths": 28428,
      "return_percent": "14.2",
      "period_from": "2026-10-11",
      "period_to": "2026-10-19",
      "small_sample": false,
      "average_odds": "2.00",
      "odds_from_author": 0,
      "odds_from_snapshot": 20,
      "league_markets": [
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 8,
        "won": 5,
        "void": 0,
        "net_points_hundredths": 18465,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-19",
        "small_sample": true,
        "average_odds": "2.03",
        "odds_from_author": 0,
        "odds_from_snapshot": 8
       },
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 7,
        "won": 6,
        "void": 0,
        "net_points_hundredths": 46045,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-18",
        "small_sample": true,
        "average_odds": "1.93",
        "odds_from_author": 0,
        "odds_from_snapshot": 7
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 3,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -30000,
        "return_percent": null,
        "period_from": "2026-10-16",
        "period_to": "2026-10-18",
        "small_sample": true,
        "average_odds": "2.37",
        "odds_from_author": 0,
        "odds_from_snapshot": 3
       },
       {
        "code_name": "double_chance",
        "in_words": "Double chance",
        "settled_picks": 2,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -6082,
        "return_percent": null,
        "period_from": "2026-10-18",
        "period_to": "2026-10-19",
        "small_sample": true,
        "average_odds": "1.53",
        "odds_from_author": 0,
        "odds_from_snapshot": 2
       }
      ]
     },
     {
      "code_name": "Ligue 1",
      "in_words": "Ligue 1",
      "url": "/football/competitions/ligue-1/",
      "settled_picks": 10,
      "won": 6,
      "void": 0,
      "net_points_hundredths": -8348,
      "return_percent": "-8.3",
      "period_from": "2026-10-11",
      "period_to": "2026-10-23",
      "small_sample": false,
      "average_odds": "1.70",
      "odds_from_author": 0,
      "odds_from_snapshot": 10,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 4,
        "won": 3,
        "void": 0,
        "net_points_hundredths": 6647,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-23",
        "small_sample": true,
        "average_odds": "1.71",
        "odds_from_author": 0,
        "odds_from_snapshot": 4
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 3,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -13197,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-23",
        "small_sample": true,
        "average_odds": "1.99",
        "odds_from_author": 0,
        "odds_from_snapshot": 3
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 2,
        "won": 2,
        "void": 0,
        "net_points_hundredths": 8202,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-17",
        "small_sample": true,
        "average_odds": "1.41",
        "odds_from_author": 0,
        "odds_from_snapshot": 2
       },
       {
        "code_name": "double_chance",
        "in_words": "Double chance",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-10-23",
        "period_to": "2026-10-23",
        "small_sample": true,
        "average_odds": "1.35",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     },
     {
      "code_name": "Premier League",
      "in_words": "Premier League",
      "url": "/football/competitions/premier-league/",
      "settled_picks": 9,
      "won": 2,
      "void": 0,
      "net_points_hundredths": -57833,
      "return_percent": "-64.3",
      "period_from": "2026-10-11",
      "period_to": "2026-10-23",
      "small_sample": true,
      "average_odds": "2.01",
      "odds_from_author": 0,
      "odds_from_snapshot": 9,
      "league_markets": [
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 3,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -14000,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-12",
        "small_sample": true,
        "average_odds": "1.88",
        "odds_from_author": 0,
        "odds_from_snapshot": 3
       },
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 2,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -20000,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-11",
        "small_sample": true,
        "average_odds": "1.80",
        "odds_from_author": 0,
        "odds_from_snapshot": 2
       },
       {
        "code_name": "double_chance",
        "in_words": "Double chance",
        "settled_picks": 2,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -3833,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-23",
        "small_sample": true,
        "average_odds": "1.52",
        "odds_from_author": 0,
        "odds_from_snapshot": 2
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 2,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -20000,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-12",
        "small_sample": true,
        "average_odds": "2.90",
        "odds_from_author": 0,
        "odds_from_snapshot": 2
       }
      ]
     },
     {
      "code_name": "Serie A",
      "in_words": "Serie A",
      "url": "/football/competitions/serie-a/",
      "settled_picks": 8,
      "won": 3,
      "void": 0,
      "net_points_hundredths": -27087,
      "return_percent": "-33.9",
      "period_from": "2026-10-11",
      "period_to": "2026-10-23",
      "small_sample": true,
      "average_odds": "2.12",
      "odds_from_author": 0,
      "odds_from_snapshot": 8,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 4,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -21228,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-23",
        "small_sample": true,
        "average_odds": "1.87",
        "odds_from_author": 0,
        "odds_from_snapshot": 4
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 2,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -20000,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-11",
        "small_sample": true,
        "average_odds": "3.02",
        "odds_from_author": 0,
        "odds_from_snapshot": 2
       },
       {
        "code_name": "double_chance",
        "in_words": "Double chance",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 3141,
        "return_percent": null,
        "period_from": "2026-10-23",
        "period_to": "2026-10-23",
        "small_sample": true,
        "average_odds": "1.31",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 11000,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-11",
        "small_sample": true,
        "average_odds": "2.10",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     },
     {
      "code_name": "UEFA Champions League",
      "in_words": "UEFA Champions League",
      "url": "/football/competitions/uefa-champions-league/",
      "settled_picks": 2,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -20000,
      "return_percent": "-100.0",
      "period_from": "2026-10-21",
      "period_to": "2026-10-21",
      "small_sample": true,
      "average_odds": "2.78",
      "odds_from_author": 0,
      "odds_from_snapshot": 2,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-10-21",
        "period_to": "2026-10-21",
        "small_sample": true,
        "average_odds": "2.45",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       },
       {
        "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-21",
        "period_to": "2026-10-21",
        "small_sample": true,
        "average_odds": "3.10",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     },
     {
      "code_name": "Bundesliga",
      "in_words": "Bundesliga",
      "url": "/football/competitions/bundesliga/",
      "settled_picks": 1,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -10000,
      "return_percent": "-100.0",
      "period_from": "2026-10-11",
      "period_to": "2026-10-11",
      "small_sample": true,
      "average_odds": "2.15",
      "odds_from_author": 0,
      "odds_from_snapshot": 1,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-10-11",
        "period_to": "2026-10-11",
        "small_sample": true,
        "average_odds": "2.15",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     }
    ],
    "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": 15,
     "won": 8,
     "lost": 7,
     "void": 0,
     "net_points_hundredths": 2268,
     "return_percent": "1.5",
     "small_sample": false,
     "threshold": 15,
     "average_odds": "1.99",
     "odds_from_author": 0,
     "odds_from_snapshot": 15,
     "period_from": "2026-10-11",
     "period_to": "2026-10-23"
    }
   }
  ],
  "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": 15,
   "won": 8,
   "lost": 7,
   "void": 0,
   "net_points_hundredths": 2268,
   "return_percent": "1.5",
   "small_sample": false,
   "threshold": 15,
   "average_odds": "1.99",
   "odds_from_author": 0,
   "odds_from_snapshot": 15,
   "period_from": "2026-10-11",
   "period_to": "2026-10-23"
  }
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 11 October 2026 · 154 predictions · last change 20 October 2026",
  "url": "https://forecastrecord.com/sources/paris-sportifs-ouest-france-fr/",
  "s": "2026-10-11",
  "prediction_count": 154,
  "refreshed_at": "2026-10-20",
  "html": "<a href=\"https://forecastrecord.com/sources/paris-sportifs-ouest-france-fr/\">Record tracked by Forecast Record since 11 October 2026 · 154 predictions · last change 20 October 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 99,
  "days": 13,
  "weeks": 3,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 47,
  "first_settled_on": "2026-10-11",
  "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
 },
 "no_own_record": {
  "checked_at": "2026-10-11"
 },
 "author_type": "Prediction site",
 "data_changes": {
  "added_later": null,
  "records_corrected": 6,
  "last_correction_at": "2026-10-22T13:04:00.441Z",
  "corrections_url": "/corrections/",
  "text": "6 records shown here have been corrected; the last correction was on 22 October 2026, with its reason in the corrections log."
 },
 "entity_id": "source:paris-sportifs-ouest-france-fr",
 "source_revision": 184,
 "related": [
  {
   "url": "/cards/e-ad551d9e75e7ce9b7cb2722f-bank/",
   "name": "Bankroll card — Ouest-France paris sportifs",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ad551d9e75e7ce9b7cb2722f-month-following/",
   "name": "A month following Ouest-France paris sportifs",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ad551d9e75e7ce9b7cb2722f-turning-point/",
   "name": "Turning point — Ouest-France paris sportifs",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/paris-sportifs-ouest-france-fr/",
   "name": "Your titles on Forecast Record: Ouest-France paris sportifs",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-ad551d9e75e7ce9b7cb2722f",
   "value": 50,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ad551d9e75e7ce9b7cb2722f",
   "value": 154,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ad551d9e75e7ce9b7cb2722f",
   "value": 154,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-ad551d9e75e7ce9b7cb2722f",
   "value": 50,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-ad551d9e75e7ce9b7cb2722f",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-ad551d9e75e7ce9b7cb2722f",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-ad551d9e75e7ce9b7cb2722f",
   "value": 50,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
