{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/freddie-cotton/",
 "canonical": "/authors/freddie-cotton/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Freddie Cotton: Football Prediction Record",
 "description": "3 settled picks by Freddie Cotton recorded before kick-off across 3 matches, 24 Oct 2026 – 1 Nov 2026: won 1 of 3 at our recorded market prices.",
 "first_paragraph": {
  "body": "Forecast Record recorded 3 settled live picks by Freddie Cotton before kick-off across 3 matches between 24 October and 1 November 2026. Won 1 of 3 settled live picks at our recorded market prices. Of the 32 predictions we hold for Freddie Cotton, 21 are linked to matches: 21 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "3",
  "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": 18,
  "date_count": 11,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T18:17:13.307Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "14d1a4b2756b01d65ce415588c96d8f6d496703045c677238f319cd52e1ecbc3",
 "dependency_group": "author:e-ec1b39ab63e5952b6504e997",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Person",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/freddie-cotton/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/freddie-cotton/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-ec1b39ab63e5952b6504e997",
  "public_name": "Freddie Cotton",
  "tracker_number": 1212,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-27",
   "until": "2026-11-06"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-ec1b39ab63e5952b6504e997-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": "-48.3500",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 3,
   "n_events": 3,
   "n_void": 0,
   "ci_low": null,
   "ci_high": null,
   "ci_method": "not_estimated",
   "price_source": "market_price",
   "coverage_percent": "0.00",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T18:17:13.307Z",
   "enough_for_ranking": false,
   "series_uid": null,
   "series_key": "market_price",
   "series_label": "At an independent odds snapshot"
  },
  "byline": "Return on stakes at an independent odds snapshot over 90 days: 3 settled picks across 3 matches",
  "average_odds": "1.89",
  "odds_from_author": 0,
  "odds_from_snapshot": 3
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-4076f5fff180c175d71d2d87",
  "bankroll_hundredths": 985495,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": -14505,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-10-24T15:55:04.930Z",
    "bankroll_hundredths": 990000,
    "profit_hundredths": -10000,
    "outcome_id": "ish-90113128b194daa214f65833"
   },
   {
    "at": "2026-10-26T12:50:41.026Z",
    "bankroll_hundredths": 995495,
    "profit_hundredths": -4505,
    "outcome_id": "ish-e11fe3671d7d07d5e72ffb8a"
   },
   {
    "at": "2026-11-01T16:27:38.880Z",
    "bankroll_hundredths": 985495,
    "profit_hundredths": -14505,
    "outcome_id": "ish-2d6a1d84d49f7332284f6d44"
   }
  ],
  "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": 109,
  "recognised": 32,
  "accepted": 5,
  "executed": 3,
  "calculated": 3,
  "gaps": [
   {
    "cause": "outside the method",
    "figure": 14
   },
   {
    "cause": "National-team matches",
    "figure": 6
   },
   {
    "cause": "not_supported",
    "figure": 4
   },
   {
    "cause": "other reading",
    "figure": 3
   },
   {
    "cause": "no_price_at_capture",
    "figure": 1
   },
   {
    "cause": "disputed_reading",
    "figure": 1
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 109,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 16,
   "not_about_a_match": 61,
   "unclassified": 0
  },
  "predictions": 32,
  "predictions_restored": 0,
  "matches": 16,
  "admitted": 5,
  "qualifying_picks": 3,
  "qualifying_picks_restored": 0,
  "settled_picks": 3,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 3,
    "settled_picks": 3,
    "void": 0,
    "pending_picks": 0,
    "matches": 3,
    "operations_settled": 3,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   },
   {
    "code_name": "derived_series",
    "derived": true,
    "is_restored": false,
    "qualifying_picks": 14,
    "settled_picks": 13,
    "void": 0,
    "pending_picks": 1,
    "matches": 13,
    "operations_settled": 13,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "Forecast Record reconstruction from the predicted score"
   }
  ],
  "gaps": [
   {
    "code_name": "not_admitted",
    "cause": "outside the method",
    "figure": 14
   },
   {
    "code_name": "outside_coverage",
    "cause": "National-team matches",
    "figure": 6
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 4
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 3
   },
   {
    "code_name": "no_price_at_capture",
    "cause": "no_price_at_capture",
    "figure": 1
   },
   {
    "code_name": "disputed_reading",
    "cause": "disputed_reading",
    "figure": 1
   }
  ],
  "duplicates": 0,
  "junk": {
   "service": 5
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-d5be37e9a5fe6564bbf90e01",
   "url": "/evidence/?pick=n-d5be37e9a5fe6564bbf90e01",
   "quote_text": "Esteban Lepaul can finally make a return this weekend from an ankle injury that has kept him",
   "fragment_from": 3689,
   "fragment_to": 3781,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e529a123be2157d3cd549507b78062f1f50b30e72858057203a568e2869c0982",
    "material_removed": false
   },
   "published_at": "2026-11-06T21:33:50.000Z",
   "detected_at": "2026-11-06T22:10:28.802Z",
   "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-06T21:33:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T21:33:50.000Z",
    "detected_at": "2026-11-06T22:10:28.802Z",
    "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-128d21e53fe88fbe5b95d58d",
   "url": "/evidence/?pick=n-128d21e53fe88fbe5b95d58d",
   "quote_text": "Rennes possible starting lineup:\n\nSamba; Reynolds, Ait Boudlal, Cresswell, Rouault, Nagida; Thomasson, Rongier",
   "fragment_from": 5180,
   "fragment_to": 5290,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e529a123be2157d3cd549507b78062f1f50b30e72858057203a568e2869c0982",
    "material_removed": false
   },
   "published_at": "2026-11-06T21:33:50.000Z",
   "detected_at": "2026-11-06T22:10:28.802Z",
   "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-06T21:33:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T21:33:50.000Z",
    "detected_at": "2026-11-06T22:10:28.802Z",
    "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-c1f25c82e697790263bec3cf",
   "url": "/evidence/?pick=n-c1f25c82e697790263bec3cf",
   "quote_text": "Sunday’s clash is bound to be one of the highlights of the weekend and could easily go either way.",
   "fragment_from": 5544,
   "fragment_to": 5642,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e529a123be2157d3cd549507b78062f1f50b30e72858057203a568e2869c0982",
    "material_removed": false
   },
   "published_at": "2026-11-06T21:33:50.000Z",
   "detected_at": "2026-11-06T22:10:28.802Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T21:33:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T21:33:50.000Z",
    "detected_at": "2026-11-06T22:10:28.802Z",
    "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-65498d0bc03597018cd81b7e",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-65498d0bc03597018cd81b7e",
   "quote_text": "we are backing them to maintain the pressure on PSG by collecting all three points this weekend",
   "fragment_from": 5799,
   "fragment_to": 5894,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e529a123be2157d3cd549507b78062f1f50b30e72858057203a568e2869c0982",
    "material_removed": false
   },
   "published_at": "2026-11-06T21:33:50.000Z",
   "detected_at": "2026-11-06T22:10:28.802Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-c3818237ab8b",
    "display_name": "Stade Rennais — Lille",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T14:00:00.000Z",
    "url": "/football/matches/stade-rennais-vs-lille-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "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": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T21:33:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T21:33:50.000Z",
    "detected_at": "2026-11-06T22:10:28.802Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "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": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Lille"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 14:00 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 14:00 UTC."
   },
   "settlements": [
    {
     "operation_id": "209bd35c0dbc3cf081a1ef816bc11c16c107bebc587e5e0981bdc470f43f7814",
     "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": 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": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-d2d19f33cbb8cf8b0438e1f8",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-d2d19f33cbb8cf8b0438e1f8",
   "quote_text": "We say: Rennes 1-2 Lille",
   "fragment_from": 5443,
   "fragment_to": 5467,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e529a123be2157d3cd549507b78062f1f50b30e72858057203a568e2869c0982",
    "material_removed": false
   },
   "published_at": "2026-11-06T21:33:50.000Z",
   "detected_at": "2026-11-06T22:10:28.802Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-c3818237ab8b",
    "display_name": "Stade Rennais — Lille",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T14:00:00.000Z",
    "url": "/football/matches/stade-rennais-vs-lille-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Correct score",
   "outcome_label": "Stade Rennais 1-2 Lille",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T21:33:50.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T21:33:50.000Z",
    "detected_at": "2026-11-06T22:10:28.802Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Stade Rennais 1-2 Lille",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Stade Rennais 1-2 Lille"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 14:00 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 14:00 UTC."
   },
   "settlements": [
    {
     "operation_id": "bc5ea0893dfa9e5d7ad96991e80cd778a0f1a262483fa17004b17f14aba093ac",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Lille",
     "decimal_odds": "3.1000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T22:45:17.853Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-62e16d80fe5290cda263d66f",
   "url": "/evidence/?pick=n-62e16d80fe5290cda263d66f",
   "quote_text": "Marcus Smith makes way for George Furbank at full-back and Fin Smith manages to recover from a ",
   "fragment_from": 3613,
   "fragment_to": 3708,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/england/preview/england-vs-australia-prediction-team-news-lineups_608632.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d37b3e95b69e3d14c90887790ad1584518e148a795aadaf766e4119a6fc9d765",
    "material_removed": false
   },
   "published_at": "2026-11-06T19:15:11.000Z",
   "detected_at": "2026-11-06T20:10:25.928Z",
   "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-06T19:15:11.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T19:15:11.000Z",
    "detected_at": "2026-11-06T20:10:25.928Z",
    "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-43bc153e8825cdb777909156",
   "url": "/evidence/?pick=n-43bc153e8825cdb777909156",
   "quote_text": "Borthwick has made a trio of changes to the pack that faced Argentina in their previous outing",
   "fragment_from": 3345,
   "fragment_to": 3439,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/england/preview/england-vs-australia-prediction-team-news-lineups_608632.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d37b3e95b69e3d14c90887790ad1584518e148a795aadaf766e4119a6fc9d765",
    "material_removed": false
   },
   "published_at": "2026-11-06T19:15:11.000Z",
   "detected_at": "2026-11-06T20:10:25.928Z",
   "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-06T19:15:11.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T19:15:11.000Z",
    "detected_at": "2026-11-06T20:10:25.928Z",
    "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-8c4de99f6e1a991931308c53",
   "url": "/evidence/?pick=n-8c4de99f6e1a991931308c53",
   "quote_text": "could easily go either way.",
   "fragment_from": 5756,
   "fragment_to": 5783,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/england/preview/england-vs-australia-prediction-team-news-lineups_608632.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d37b3e95b69e3d14c90887790ad1584518e148a795aadaf766e4119a6fc9d765",
    "material_removed": false
   },
   "published_at": "2026-11-06T19:15:11.000Z",
   "detected_at": "2026-11-06T20:10:25.928Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T19:15:11.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T19:15:11.000Z",
    "detected_at": "2026-11-06T20:10:25.928Z",
    "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-a14e4eabfa429d0469cb7f67",
   "url": "/evidence/?pick=n-a14e4eabfa429d0469cb7f67",
   "quote_text": "Sunday’s contest promises to be one of the highlights of the Nations Championship weekend and a closely",
   "fragment_from": 5630,
   "fragment_to": 5733,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/england/preview/england-vs-australia-prediction-team-news-lineups_608632.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d37b3e95b69e3d14c90887790ad1584518e148a795aadaf766e4119a6fc9d765",
    "material_removed": false
   },
   "published_at": "2026-11-06T19:15:11.000Z",
   "detected_at": "2026-11-06T20:10:25.928Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T19:15:11.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T19:15:11.000Z",
    "detected_at": "2026-11-06T20:10:25.928Z",
    "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-f905786a5a34a4a6cae9bfec",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-f905786a5a34a4a6cae9bfec",
   "quote_text": "We say: England 34-24 Australia",
   "fragment_from": 5511,
   "fragment_to": 5542,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/england/preview/england-vs-australia-prediction-team-news-lineups_608632.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d37b3e95b69e3d14c90887790ad1584518e148a795aadaf766e4119a6fc9d765",
    "material_removed": false
   },
   "published_at": "2026-11-06T19:15:11.000Z",
   "detected_at": "2026-11-06T20:10:25.928Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T19:15:11.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T19:15:11.000Z",
    "detected_at": "2026-11-06T20:10:25.928Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4df9ae2508335b37ff6a0efe",
   "url": "/evidence/?pick=n-4df9ae2508335b37ff6a0efe",
   "quote_text": "Ardie Savea misses out and will be unavailable for the entirety of this month’s matches with a shoulder",
   "fragment_from": 4489,
   "fragment_to": 4592,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/scotland/preview/scotland-vs-new-zealand-prediction-team-news-lineups_608510.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2d80175982a0f9519fcb00eccb6b8c886d7e32efef84cd3967a86d91364ab11c",
    "material_removed": false
   },
   "published_at": "2026-11-05T17:06:19.000Z",
   "detected_at": "2026-11-05T18:10:23.724Z",
   "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-05T17:06:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T17:06:19.000Z",
    "detected_at": "2026-11-05T18:10:23.724Z",
    "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-3627fb90935a97aa1a40cf91",
   "url": "/evidence/?pick=n-3627fb90935a97aa1a40cf91",
   "quote_text": "Scotland will be hopeful that, following a solid Six Nations campaign and a promising start to the Nations Championship, they can finally get the monkey off their back and claim victory",
   "fragment_from": 5576,
   "fragment_to": 5761,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/scotland/preview/scotland-vs-new-zealand-prediction-team-news-lineups_608510.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2d80175982a0f9519fcb00eccb6b8c886d7e32efef84cd3967a86d91364ab11c",
    "material_removed": false
   },
   "published_at": "2026-11-05T17:06:19.000Z",
   "detected_at": "2026-11-05T18:10:23.724Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T17:06:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T17:06:19.000Z",
    "detected_at": "2026-11-05T18:10:23.724Z",
    "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-6e29060de142e7d225681ed6",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-6e29060de142e7d225681ed6",
   "quote_text": "We say: Scotland 23-32 New Zealand",
   "fragment_from": 5485,
   "fragment_to": 5519,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/scotland/preview/scotland-vs-new-zealand-prediction-team-news-lineups_608510.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2d80175982a0f9519fcb00eccb6b8c886d7e32efef84cd3967a86d91364ab11c",
    "material_removed": false
   },
   "published_at": "2026-11-05T17:06:19.000Z",
   "detected_at": "2026-11-05T18:10:23.724Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "national-team match (Nations League, qualifiers, continental cups)",
   "cause_code": "outside_coverage",
   "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-05T17:06:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T17:06:19.000Z",
    "detected_at": "2026-11-05T18:10:23.724Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-73a586d6dca8389cb765ef35",
   "url": "/evidence/?pick=n-73a586d6dca8389cb765ef35",
   "quote_text": "Get FREE daily news and in-depth previews for games from the biggest leagues and competitions in world football — straight to your inbox.",
   "fragment_from": 6015,
   "fragment_to": 6152,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/ireland/preview/ireland-vs-argentina-prediction-team-news-lineups_608402.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7405e30f527ee6fae48d9ab8a005f935988d9f4f3e98d6c589dfa9499f7a020e",
    "material_removed": false
   },
   "published_at": "2026-11-04T19:08:28.000Z",
   "detected_at": "2026-11-04T20:12:02.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-11-04T19:08:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T19:08:28.000Z",
    "detected_at": "2026-11-04T20:12:02.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-d8ce287f2fdfcde05917f833",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-d8ce287f2fdfcde05917f833",
   "quote_text": "are backing the hosts to climb further up the Northern Hemisphere table with a bonus point win in Dublin.",
   "fragment_from": 5742,
   "fragment_to": 5847,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/ireland/preview/ireland-vs-argentina-prediction-team-news-lineups_608402.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7405e30f527ee6fae48d9ab8a005f935988d9f4f3e98d6c589dfa9499f7a020e",
    "material_removed": false
   },
   "published_at": "2026-11-04T19:08:28.000Z",
   "detected_at": "2026-11-04T20:12:02.430Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "not_supported",
   "cause": "national-team match (Nations League, qualifiers, continental cups)",
   "cause_code": "outside_coverage",
   "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-04T19:08:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T19:08:28.000Z",
    "detected_at": "2026-11-04T20:12:02.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": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a66d4463128e38eacbe7dd1f",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-a66d4463128e38eacbe7dd1f",
   "quote_text": "We say: Ireland 35-18 Argentina",
   "fragment_from": 5413,
   "fragment_to": 5444,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/rugby-union/ireland/preview/ireland-vs-argentina-prediction-team-news-lineups_608402.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7405e30f527ee6fae48d9ab8a005f935988d9f4f3e98d6c589dfa9499f7a020e",
    "material_removed": false
   },
   "published_at": "2026-11-04T19:08:28.000Z",
   "detected_at": "2026-11-04T20:12:02.430Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "national-team match (Nations League, qualifiers, continental cups)",
   "cause_code": "outside_coverage",
   "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-04T19:08:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T19:08:28.000Z",
    "detected_at": "2026-11-04T20:12:02.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": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2a415a11351b5675005b7c5d",
   "url": "/evidence/?pick=n-2a415a11351b5675005b7c5d",
   "quote_text": "Ghanaian forward Paul Ayongo has been left out of the European roster",
   "fragment_from": 4407,
   "fragment_to": 4476,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torreense/europa-league/preview/torreense-vs-ararat-armenia-prediction-team-news-lineups_608332.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e60065d12ab0ffa273141162f467ea74b7a0ea51263992afa9b1af607668e1d7",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:08:22.000Z",
   "detected_at": "2026-11-03T17:10:14.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-11-03T16:08:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:08:22.000Z",
    "detected_at": "2026-11-03T17:10:14.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-48d45516ee3f72b9850b1439",
   "url": "/evidence/?pick=n-48d45516ee3f72b9850b1439",
   "quote_text": "French forward Adama Baradji is the host’s only confirmed absentee for Thursday’s clash",
   "fragment_from": 3475,
   "fragment_to": 3562,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torreense/europa-league/preview/torreense-vs-ararat-armenia-prediction-team-news-lineups_608332.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e60065d12ab0ffa273141162f467ea74b7a0ea51263992afa9b1af607668e1d7",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:08:22.000Z",
   "detected_at": "2026-11-03T17:10:14.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-11-03T16:08:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:08:22.000Z",
    "detected_at": "2026-11-03T17:10:14.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-2cf6e08aaf5afc6805702c41",
   "url": "/evidence/?pick=n-2cf6e08aaf5afc6805702c41",
   "quote_text": "they will also need to tighten up defensively if they are to climb off the bottom of the table",
   "fragment_from": 3009,
   "fragment_to": 3103,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torreense/europa-league/preview/torreense-vs-ararat-armenia-prediction-team-news-lineups_608332.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e60065d12ab0ffa273141162f467ea74b7a0ea51263992afa9b1af607668e1d7",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:08:22.000Z",
   "detected_at": "2026-11-03T17:10:14.842Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T16:08:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:08:22.000Z",
    "detected_at": "2026-11-03T17:10:14.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-ef3e37f19489204e050c20d1",
   "url": "/evidence/?pick=n-ef3e37f19489204e050c20d1",
   "quote_text": "the key for Azul-grenas could well be to patch up their leaky defence",
   "fragment_from": 1671,
   "fragment_to": 1740,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torreense/europa-league/preview/torreense-vs-ararat-armenia-prediction-team-news-lineups_608332.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e60065d12ab0ffa273141162f467ea74b7a0ea51263992afa9b1af607668e1d7",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:08:22.000Z",
   "detected_at": "2026-11-03T17:10:14.842Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T16:08:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:08:22.000Z",
    "detected_at": "2026-11-03T17:10:14.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-77033ff8a4b51dbcaf3e074c",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-77033ff8a4b51dbcaf3e074c",
   "quote_text": "We say: Torreense 2-1 Ararat-Armenia",
   "fragment_from": 5090,
   "fragment_to": 5126,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torreense/europa-league/preview/torreense-vs-ararat-armenia-prediction-team-news-lineups_608332.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e60065d12ab0ffa273141162f467ea74b7a0ea51263992afa9b1af607668e1d7",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:08:22.000Z",
   "detected_at": "2026-11-03T17:10:14.842Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T16:08:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:08:22.000Z",
    "detected_at": "2026-11-03T17:10:14.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": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8d2fbf1f8809a78f9b1ebdb8",
   "url": "/evidence/?pick=n-8d2fbf1f8809a78f9b1ebdb8",
   "quote_text": "Fraser Horsfall has been dealt a setback and is expected to miss Sunday’s clash for Blackpool.",
   "fragment_from": 4345,
   "fragment_to": 4439,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:46:08.000Z",
   "detected_at": "2026-10-31T00:11:48.962Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T23:46:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "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-451441aad38a9fd828f2cd00",
   "url": "/evidence/?pick=n-451441aad38a9fd828f2cd00",
   "quote_text": "In attack, the Owls will certainly be without Jamal Lowe, who serves the final match of his suspension",
   "fragment_from": 3665,
   "fragment_to": 3767,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:46:08.000Z",
   "detected_at": "2026-10-31T00:11:48.962Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T23:46:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "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-3f79fef9bb9116064a83152c",
   "url": "/evidence/?pick=n-3f79fef9bb9116064a83152c",
   "quote_text": "Blackpool possible starting lineup:\n\nPeacock-Farrell; Williams, Casey, Ashworth, Munroe;",
   "fragment_from": 5217,
   "fragment_to": 5305,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:46:08.000Z",
   "detected_at": "2026-10-31T00:11:48.962Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T23:46:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "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-067a32d289f68b95067ffa61",
   "url": "/evidence/?pick=n-067a32d289f68b95067ffa61",
   "quote_text": "Sheffield Wednesday possible starting lineup:\n\nMaynard-Brewer; Valery, Weaver, Cooper, James;",
   "fragment_from": 5066,
   "fragment_to": 5159,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:46:08.000Z",
   "detected_at": "2026-10-31T00:11:48.962Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T23:46:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "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-c20cb4f8924596277e436c4d",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-c20cb4f8924596277e436c4d",
   "quote_text": "we are backing the home team to pick up all three points on Sunday",
   "fragment_from": 5732,
   "fragment_to": 5798,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:46:08.000Z",
   "detected_at": "2026-10-31T00:11:48.962Z",
   "executed_at": "2026-11-01T11:19:36.151Z",
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-7682797fd003",
    "display_name": "Sheffield Wednesday — Blackpool",
    "competition_name": "EFL League One",
    "starts_at": "2026-11-01T14:00:00.000Z",
    "url": "/football/matches/sheffield-wednesday-vs-blackpool-2026-11-01/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Sheffield Wednesday",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "1.7300",
    "our_snapshot_at": "2026-10-31T00:11:47.182Z",
    "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-30T23:46:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Sheffield Wednesday",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Sheffield Wednesday"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Sheffield Wednesday 1-1 Blackpool."
   },
   "settlements": [
    {
     "operation_id": "4317d98caffd24f3d2ad3d7f638f456bcb07af11cdae5d716580832fea1b3b9c",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Sheffield Wednesday",
     "decimal_odds": "1.7300",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-01T11:19:36.151Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c934ce32a372bfffe76c2276",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-c934ce32a372bfffe76c2276",
   "quote_text": "We say: Sheffield Wednesday 3-1 Blackpool",
   "fragment_from": 5358,
   "fragment_to": 5399,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
    "material_removed": false
   },
   "published_at": "2026-10-30T23:46:08.000Z",
   "detected_at": "2026-10-31T00:11:48.962Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": {
    "event_id": "s-7682797fd003",
    "display_name": "Sheffield Wednesday — Blackpool",
    "competition_name": "EFL League One",
    "starts_at": "2026-11-01T14:00:00.000Z",
    "url": "/football/matches/sheffield-wednesday-vs-blackpool-2026-11-01/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Sheffield Wednesday 3-1 Blackpool",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-30T23:46:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Sheffield Wednesday 3-1 Blackpool",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Sheffield Wednesday 3-1 Blackpool"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Sheffield Wednesday 1-1 Blackpool."
   },
   "settlements": [
    {
     "operation_id": "4f066f1d9eaf79330eb77db6ac7e28f5d7eaea28ba8ea2256bc5e6a3c92e689e",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Sheffield Wednesday",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-e29c4cd7e27dbe1177cab22f",
   "url": "/evidence/?pick=n-e29c4cd7e27dbe1177cab22f",
   "quote_text": "Neufville is also set to miss out in the middle of the park for the hosts",
   "fragment_from": 4013,
   "fragment_to": 4086,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-huddersfield-prediction-team-news-lineups_607999.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "b98977217ac15aa6c5e78f1c98e59c98f65ab0cc65579e0b5db09d8d973a3414",
    "material_removed": false
   },
   "published_at": "2026-10-29T19:29:19.000Z",
   "detected_at": "2026-10-30T06:12:33.089Z",
   "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:29:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T19:29:19.000Z",
    "detected_at": "2026-10-30T06:12:33.089Z",
    "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-cb33865956713095b1873213",
   "url": "/evidence/?pick=n-cb33865956713095b1873213",
   "quote_text": "Callum Connolly will serve a suspension for Bradford on Saturday afternoon",
   "fragment_from": 3873,
   "fragment_to": 3947,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-huddersfield-prediction-team-news-lineups_607999.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "b98977217ac15aa6c5e78f1c98e59c98f65ab0cc65579e0b5db09d8d973a3414",
    "material_removed": false
   },
   "published_at": "2026-10-29T19:29:19.000Z",
   "detected_at": "2026-10-30T06:12:33.089Z",
   "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:29:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T19:29:19.000Z",
    "detected_at": "2026-10-30T06:12:33.089Z",
    "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-93a2b36dadfe7936cbe57d80",
   "url": "/evidence/?pick=n-93a2b36dadfe7936cbe57d80",
   "quote_text": "we think the sides will be evenly matched on Saturday afternoon and share the points at Valley Parade.",
   "fragment_from": 5934,
   "fragment_to": 6036,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-huddersfield-prediction-team-news-lineups_607999.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "b98977217ac15aa6c5e78f1c98e59c98f65ab0cc65579e0b5db09d8d973a3414",
    "material_removed": false
   },
   "published_at": "2026-10-29T19:29:19.000Z",
   "detected_at": "2026-10-30T06:12:33.089Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-29T19:29:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T19:29:19.000Z",
    "detected_at": "2026-10-30T06:12:33.089Z",
    "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-e01018ea6aea41180c766699",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-e01018ea6aea41180c766699",
   "quote_text": "We say: Bradford City 1-1 Huddersfield Town",
   "fragment_from": 5577,
   "fragment_to": 5620,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-huddersfield-prediction-team-news-lineups_607999.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "b98977217ac15aa6c5e78f1c98e59c98f65ab0cc65579e0b5db09d8d973a3414",
    "material_removed": false
   },
   "published_at": "2026-10-29T19:29:19.000Z",
   "detected_at": "2026-10-30T06:12:33.089Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-8c3ded600b73",
    "display_name": "Bradford City — Huddersfield Town",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-31T12:30:00.000Z",
    "url": "/football/matches/bradford-city-vs-huddersfield-town-2026-10-31/",
    "scoreline": "0-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Bradford City 1-1 Huddersfield Town",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-29T19:29:19.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T19:29:19.000Z",
    "detected_at": "2026-10-30T06:12:33.089Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Bradford City 1-1 Huddersfield Town",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Bradford City 1-1 Huddersfield Town"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Bradford City 0-3 Huddersfield Town."
   },
   "settlements": [
    {
     "operation_id": "355deca34a2a93f2f0f7ebb79d5cf8b93ec475ba65a4330c4015d54bae781798",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.4000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-31T07:11:45.710Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-huddersfield-prediction-team-news-lineups_607999.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-09e3ce70fa9d1563720e3789",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-09e3ce70fa9d1563720e3789",
   "quote_text": "We say: Barnsley 1-3 Oxford United",
   "fragment_from": 5218,
   "fragment_to": 5252,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/barnsley/preview/barnsley-vs-oxford-utd-prediction-team-news-lineups_608003.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0996fac70a7ac04fc7184a289669a796102207cc5f0c472b52c2c6d0735ad218",
    "material_removed": false
   },
   "published_at": "2026-10-29T20:02:16.000Z",
   "detected_at": "2026-10-29T21:10:44.714Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-29T20:02:16.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T20:02:16.000Z",
    "detected_at": "2026-10-29T21:10:44.714Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f6efe0530fc3a6b681c01c85",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-f6efe0530fc3a6b681c01c85",
   "quote_text": "We say: St Johnstone 2-1 Motherwell",
   "fragment_from": 4952,
   "fragment_to": 4987,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/st-johnstone/preview/st-johnstone-vs-motherwell-prediction-team-news-lineups_607762.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a173f25f3ed62cbab94291b0e2b8b465660db43ac642095a86d16a2b8d5ff4c3",
    "material_removed": false
   },
   "published_at": "2026-10-26T17:26:43.000Z",
   "detected_at": "2026-10-26T18:10:08.384Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-44345ced8f83",
    "display_name": "St Johnstone — Motherwell",
    "competition_name": "Scottish Premiership",
    "starts_at": "2026-10-28T19:45:00.000Z",
    "url": "/football/matches/st-johnstone-vs-motherwell-2026-10-28/",
    "scoreline": "2-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "St Johnstone 2-1 Motherwell",
   "odds_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-26T17:26:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T17:26:43.000Z",
    "detected_at": "2026-10-26T18:10:08.384Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "St Johnstone 2-1 Motherwell",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: St Johnstone 2-1 Motherwell"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was St Johnstone 2-2 Motherwell."
   },
   "settlements": [
    {
     "operation_id": "2eb0d25bb7cece5875dba36aa089a744823123304bdad1139929ba261b49ee0f",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "St Johnstone",
     "decimal_odds": "2.4850",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-28T17:22:36.327Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/st-johnstone/preview/st-johnstone-vs-motherwell-prediction-team-news-lineups_607762.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b9972719b4668583a8f54346",
   "url": "/evidence/?pick=n-b9972719b4668583a8f54346",
   "quote_text": "Bandiougou Fadiga is unlikely to make an appearance for Lorient this weekend",
   "fragment_from": 3750,
   "fragment_to": 3826,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "71e0c51a69cdc68cc3a021bdf1ee8c71cdd53a0a37affae965ba1ff5fd6495e2",
    "material_removed": false
   },
   "published_at": "2026-10-23T13:49:30.000Z",
   "detected_at": "2026-10-23T14:10:16.049Z",
   "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-23T13:49:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T13:49:30.000Z",
    "detected_at": "2026-10-23T14:10:16.049Z",
    "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-2edee0819e3cf140ab579c99",
   "url": "/evidence/?pick=n-2edee0819e3cf140ab579c99",
   "quote_text": "Emmanuel Biumla and Haris Belkebla are both doubts to feature this weekend",
   "fragment_from": 3228,
   "fragment_to": 3302,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "71e0c51a69cdc68cc3a021bdf1ee8c71cdd53a0a37affae965ba1ff5fd6495e2",
    "material_removed": false
   },
   "published_at": "2026-10-23T13:49:30.000Z",
   "detected_at": "2026-10-23T14:10:16.049Z",
   "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-23T13:49:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T13:49:30.000Z",
    "detected_at": "2026-10-23T14:10:16.049Z",
    "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-35771c1609f8d1b9f80897d1",
   "url": "/evidence/?pick=n-35771c1609f8d1b9f80897d1",
   "quote_text": "Malian defender Ousmane Camara has returned to training and is available to be selected",
   "fragment_from": 3054,
   "fragment_to": 3141,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "71e0c51a69cdc68cc3a021bdf1ee8c71cdd53a0a37affae965ba1ff5fd6495e2",
    "material_removed": false
   },
   "published_at": "2026-10-23T13:49:30.000Z",
   "detected_at": "2026-10-23T14:10:16.049Z",
   "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-23T13:49:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T13:49:30.000Z",
    "detected_at": "2026-10-23T14:10:16.049Z",
    "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-ecc6885c0179615bdfe86246",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-ecc6885c0179615bdfe86246",
   "quote_text": "We say: Angers 0-1 Lorient",
   "fragment_from": 4589,
   "fragment_to": 4615,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "71e0c51a69cdc68cc3a021bdf1ee8c71cdd53a0a37affae965ba1ff5fd6495e2",
    "material_removed": false
   },
   "published_at": "2026-10-23T13:49:30.000Z",
   "detected_at": "2026-10-23T14:10:16.049Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-d7bdeb5c972b",
    "display_name": "Angers — Lorient",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-25T16:15:00.000Z",
    "url": "/football/matches/angers-vs-lorient-2026-10-25/",
    "scoreline": "0-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Angers 0-1 Lorient",
   "odds_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-23T13:49:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T13:49:30.000Z",
    "detected_at": "2026-10-23T14:10:16.049Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Angers 0-1 Lorient",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Angers 0-1 Lorient"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Angers 0-0 Lorient."
   },
   "settlements": [
    {
     "operation_id": "858012fcabd502ff865fb05e97978678b8ff7c4f33ab60e03a5534f83ceb80ad",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Lorient",
     "decimal_odds": "2.4000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T09:33:52.710Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-816fde584b9a161fa2ac600f",
   "url": "/evidence/?pick=n-816fde584b9a161fa2ac600f",
   "quote_text": "After picking up a hip injury earlier this month, 28-year-old Canadian Derek Cornelius is likely",
   "fragment_from": 3451,
   "fragment_to": 3547,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
    "material_removed": false
   },
   "published_at": "2026-10-23T10:39:06.000Z",
   "detected_at": "2026-10-23T11:10:11.382Z",
   "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-23T10:39:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "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-1e8318948ec86abda324460f",
   "url": "/evidence/?pick=n-1e8318948ec86abda324460f",
   "quote_text": "Sunday’s clash could be Le Havre’s best opportunity yet to post their maiden win of the season",
   "fragment_from": 5131,
   "fragment_to": 5225,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
    "material_removed": false
   },
   "published_at": "2026-10-23T10:39:06.000Z",
   "detected_at": "2026-10-23T11:10:11.382Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T10:39:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "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-28fa0819c9ff181593f7386e",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-28fa0819c9ff181593f7386e",
   "quote_text": "we are backing them to win their third Ligue 1 match on the trot this weekend.",
   "fragment_from": 5393,
   "fragment_to": 5471,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
    "material_removed": false
   },
   "published_at": "2026-10-23T10:39:06.000Z",
   "detected_at": "2026-10-23T11:10:11.382Z",
   "executed_at": "2026-10-24T09:35:11.769Z",
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-170bec757c5c",
    "display_name": "Olympique de Marseille — Le Havre",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-25T16:15:00.000Z",
    "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
    "scoreline": "4-3",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Olympique de Marseille",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "1.5495",
    "our_snapshot_at": "2026-10-23T11:06:15.078Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 5495,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T10:39:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "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": "Olympique de Marseille",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Olympique de Marseille"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "4-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Olympique de Marseille 4-3 Le Havre."
   },
   "settlements": [
    {
     "operation_id": "5badbe5ea4201ca0493614ac129df1bf80fb3a70556ce692d780c35c4219393e",
     "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": "Olympique de Marseille",
     "decimal_odds": "1.5495",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5495,
     "executed_at": "2026-10-24T09:35:11.769Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-67599dc2631f10445a18ff2e",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-67599dc2631f10445a18ff2e",
   "quote_text": "We say: Marseille 3-0 Le Havre",
   "fragment_from": 5043,
   "fragment_to": 5073,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
    "material_removed": false
   },
   "published_at": "2026-10-23T10:39:06.000Z",
   "detected_at": "2026-10-23T11:10:11.382Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-170bec757c5c",
    "display_name": "Olympique de Marseille — Le Havre",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-25T16:15:00.000Z",
    "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
    "scoreline": "4-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Olympique de Marseille 3-0 Le Havre",
   "odds_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-23T10:39:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Olympique de Marseille 3-0 Le Havre",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Olympique de Marseille 3-0 Le Havre"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Olympique de Marseille 4-3 Le Havre."
   },
   "settlements": [
    {
     "operation_id": "aa2d48405e5e6051f8cac56be20d512142ff6a9d90701bd0a608100ab4a99e3e",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Olympique de Marseille",
     "decimal_odds": "1.5495",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5495,
     "executed_at": "2026-10-24T09:35:11.751Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4e824cfcf9b2530b1ee3d707",
   "url": "/evidence/?pick=n-4e824cfcf9b2530b1ee3d707",
   "quote_text": "Ghanaian international Michael Baidoo has missed the entirety of the 2026-27 season so far for Plymouth",
   "fragment_from": 3911,
   "fragment_to": 4014,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:03:58.000Z",
   "detected_at": "2026-10-22T17:10:12.347Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T15:03:58.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "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-ebe3123d5aa1d54c58f9736c",
   "url": "/evidence/?pick=n-ebe3123d5aa1d54c58f9736c",
   "quote_text": "Irish midfielder Shane McLoughlin is out for Cambridge with a calf injury picked up earlier in the season",
   "fragment_from": 3265,
   "fragment_to": 3370,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:03:58.000Z",
   "detected_at": "2026-10-22T17:10:12.347Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T15:03:58.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "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-824559b786f14645fd6815a2",
   "url": "/evidence/?pick=n-824559b786f14645fd6815a2",
   "quote_text": "Plymouth will be desperate to bounce back into form this weekend after a couple of disappointing results.",
   "fragment_from": 1945,
   "fragment_to": 2050,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:03:58.000Z",
   "detected_at": "2026-10-22T17:10:12.347Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T15:03:58.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "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-00856382e055fe59f0fd660d",
   "url": "/evidence/?pick=n-00856382e055fe59f0fd660d",
   "quote_text": "Cambridge will be ecstatic with how they have started their latest campaign.",
   "fragment_from": 813,
   "fragment_to": 889,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:03:58.000Z",
   "detected_at": "2026-10-22T17:10:12.347Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T15:03:58.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "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-14cf238cc6101a361c36d380",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-14cf238cc6101a361c36d380",
   "quote_text": "we are still backing the hosts to take all of the points on Saturday afternoon",
   "fragment_from": 5321,
   "fragment_to": 5399,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:03:58.000Z",
   "detected_at": "2026-10-22T17:10:12.347Z",
   "executed_at": "2026-10-24T00:49:45.462Z",
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-0cb9d015622a",
    "display_name": "Cambridge United — Plymouth Argyle",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
    "scoreline": "2-3",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Cambridge United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "2.3800",
    "our_snapshot_at": "2026-10-22T17:09:40.023Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-22T15:03:58.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "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": "Cambridge United",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Cambridge United"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Cambridge United 2-3 Plymouth Argyle."
   },
   "settlements": [
    {
     "operation_id": "fd774903b03eea226c412e5a0f20c6aa7bc0acd52df3293b866e763609e5e4ff",
     "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": "Cambridge United",
     "decimal_odds": "2.3800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T00:49:45.462Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b881a2d36104172a8d580a19",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-b881a2d36104172a8d580a19",
   "quote_text": "We say: Cambridge United 2-1 Plymouth Argyle",
   "fragment_from": 4993,
   "fragment_to": 5037,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
    "material_removed": false
   },
   "published_at": "2026-10-22T15:03:58.000Z",
   "detected_at": "2026-10-22T17:10:12.347Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-0cb9d015622a",
    "display_name": "Cambridge United — Plymouth Argyle",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
    "scoreline": "2-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Cambridge United 2-1 Plymouth Argyle",
   "odds_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-22T15:03:58.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Cambridge United 2-1 Plymouth Argyle",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Cambridge United 2-1 Plymouth Argyle"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Cambridge United 2-3 Plymouth Argyle."
   },
   "settlements": [
    {
     "operation_id": "19551e560ff3f4a3337b3b461e0a65982bbfc2ef5ade518d85ddd29ec2924339",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Cambridge United",
     "decimal_odds": "2.3800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T00:49:45.446Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-029467a08b0356915eac1b54",
   "url": "/evidence/?pick=n-029467a08b0356915eac1b54",
   "quote_text": "Following a much improved period, Kilmarnock will be convinced that this weekend’s clash poses",
   "fragment_from": 5181,
   "fragment_to": 5275,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/falkirk/preview/falkirk-vs-kilmarnock-prediction-team-news-lineups_607394.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "141c1862b3bddcfb4016730b37442d85f24ccd887747f295d9afb4f2e2081254",
    "material_removed": false
   },
   "published_at": "2026-10-21T23:21:00.000Z",
   "detected_at": "2026-10-22T00:09:59.844Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-21T23:21:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T23:21:00.000Z",
    "detected_at": "2026-10-22T00:09:59.844Z",
    "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-8f6879bddd0d2da555bca1f0",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-8f6879bddd0d2da555bca1f0",
   "quote_text": "We say: Falkirk 2-1 Kilmarnock",
   "fragment_from": 5149,
   "fragment_to": 5179,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/falkirk/preview/falkirk-vs-kilmarnock-prediction-team-news-lineups_607394.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "141c1862b3bddcfb4016730b37442d85f24ccd887747f295d9afb4f2e2081254",
    "material_removed": false
   },
   "published_at": "2026-10-21T23:21:00.000Z",
   "detected_at": "2026-10-22T00:09:59.844Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": {
    "event_id": "s-b1e6c53a1f77",
    "display_name": "Falkirk — Kilmarnock",
    "competition_name": "Scottish Premiership",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": null,
    "scoreline": "3-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Falkirk 2-1 Kilmarnock",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-21T23:21:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T23:21:00.000Z",
    "detected_at": "2026-10-22T00:09:59.844Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Falkirk 2-1 Kilmarnock",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Falkirk 2-1 Kilmarnock"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Falkirk 3-0 Kilmarnock."
   },
   "settlements": [
    {
     "operation_id": "ce79bc3a9155e85ad7f542d3eed15fa683305a248f3a5d2540ce35542fb85c2c",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Falkirk",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/falkirk/preview/falkirk-vs-kilmarnock-prediction-team-news-lineups_607394.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-9f0b0479bf2e602f0a81f18e",
   "url": "/evidence/?pick=n-9f0b0479bf2e602f0a81f18e",
   "quote_text": "Purple and Whites will also miss both defensive duo Giulian Biancone and Killian Sardella",
   "fragment_from": 4367,
   "fragment_to": 4456,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a469438af53ad4335684a69d96ce0f0cb52460388584e8c3c6039fad98bf4db",
    "material_removed": false
   },
   "published_at": "2026-10-20T14:01:03.000Z",
   "detected_at": "2026-10-20T15:10:08.932Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T14:01:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T14:01:03.000Z",
    "detected_at": "2026-10-20T15:10:08.932Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-274c38dd205965b44c346d6c",
   "url": "/evidence/?pick=n-274c38dd205965b44c346d6c",
   "quote_text": "Ilias Koutsoupias was not named in Anderlecht’s Europa League roster",
   "fragment_from": 4214,
   "fragment_to": 4282,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a469438af53ad4335684a69d96ce0f0cb52460388584e8c3c6039fad98bf4db",
    "material_removed": false
   },
   "published_at": "2026-10-20T14:01:03.000Z",
   "detected_at": "2026-10-20T15:10:08.932Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T14:01:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T14:01:03.000Z",
    "detected_at": "2026-10-20T15:10:08.932Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-743dfad2a15ed63a3e913e2e",
   "url": "/evidence/?pick=n-743dfad2a15ed63a3e913e2e",
   "quote_text": "Jagiellonia will be without the services of Dawid Drachal, Cezary Polak, Dimitris Rallas",
   "fragment_from": 3372,
   "fragment_to": 3460,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a469438af53ad4335684a69d96ce0f0cb52460388584e8c3c6039fad98bf4db",
    "material_removed": false
   },
   "published_at": "2026-10-20T14:01:03.000Z",
   "detected_at": "2026-10-20T15:10:08.932Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T14:01:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T14:01:03.000Z",
    "detected_at": "2026-10-20T15:10:08.932Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4a4f5eaa429612e70de2c53f",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-4a4f5eaa429612e70de2c53f",
   "quote_text": "We say: Jagiellonia Bialystok 1-1 Anderlecht",
   "fragment_from": 5180,
   "fragment_to": 5224,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7a469438af53ad4335684a69d96ce0f0cb52460388584e8c3c6039fad98bf4db",
    "material_removed": false
   },
   "published_at": "2026-10-20T14:01:03.000Z",
   "detected_at": "2026-10-20T15:10:08.932Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-7c076b290dd2",
    "display_name": "Jagiellonia — Anderlecht",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T19:00:00.000Z",
    "url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
    "scoreline": "0-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Jagiellonia 1-1 Anderlecht",
   "odds_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-20T14:01:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T14:01:03.000Z",
    "detected_at": "2026-10-20T15:10:08.932Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Jagiellonia 1-1 Anderlecht",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Jagiellonia 1-1 Anderlecht"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Jagiellonia 0-3 Anderlecht."
   },
   "settlements": [
    {
     "operation_id": "4f004f95e12583adf9e4496ca1cc1a4d459389a540daca6d8c2b0a2d0525bb66",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-27T02:22:10.466Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b14f77a99eff87232e1cce95",
   "url": "/evidence/?pick=n-b14f77a99eff87232e1cce95",
   "quote_text": "we think they are firm favourites to creep towards the top six this week.",
   "fragment_from": 5474,
   "fragment_to": 5547,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-wigan-prediction-team-news-lineups_607190.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "4dd84358fc34097441804425175ef46de3b6e00a6c0b7e5db5a09877cdb4e9f2",
    "material_removed": false
   },
   "published_at": "2026-10-18T22:15:22.000Z",
   "detected_at": "2026-10-18T23:10:14.162Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-18T22:15:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T22:15:22.000Z",
    "detected_at": "2026-10-18T23:10:14.162Z",
    "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-fd67315b88c18c715a505e78",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-fd67315b88c18c715a505e78",
   "quote_text": "We say: Oxford United 3-1 Wigan Athletic",
   "fragment_from": 5104,
   "fragment_to": 5144,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-wigan-prediction-team-news-lineups_607190.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "4dd84358fc34097441804425175ef46de3b6e00a6c0b7e5db5a09877cdb4e9f2",
    "material_removed": false
   },
   "published_at": "2026-10-18T22:15:22.000Z",
   "detected_at": "2026-10-18T23:10:14.162Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-78dbf67f34d8",
    "display_name": "Oxford United — Wigan Athletic",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-20T18:45:00.000Z",
    "url": "/football/matches/oxford-united-vs-wigan-athletic-2026-10-20/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Oxford United 3-1 Wigan Athletic",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-18T22:15:22.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-18T22:15:22.000Z",
    "detected_at": "2026-10-18T23:10:14.162Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Oxford United 3-1 Wigan Athletic",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Oxford United 3-1 Wigan Athletic"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Oxford United 2-1 Wigan Athletic."
   },
   "settlements": [
    {
     "operation_id": "3882d9419e95fe9d8849f584c6687f9f6e40f3cc78f0c6ff7b3b968be8a3c160",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Oxford United",
     "decimal_odds": "1.8700",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8700,
     "executed_at": "2026-10-22T12:45:40.570Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-wigan-prediction-team-news-lineups_607190.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a526c9d2cbe89f7eadc3d8d2",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-a526c9d2cbe89f7eadc3d8d2",
   "quote_text": "We say: Le Havre 1-1 Auxerre",
   "fragment_from": 4387,
   "fragment_to": 4415,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/le-havre/preview/le-havre-vs-auxerre-prediction-team-news-lineups_607041.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e13daa9468498cba08cfcd80568ac1785a23db3503ce65404863620b950b3b3e",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:10:56.000Z",
   "detected_at": "2026-10-16T17:09:55.529Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-6ce51722d547",
    "display_name": "Le Havre — Auxerre",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-18T15:15:00.000Z",
    "url": "/football/matches/le-havre-vs-auxerre-2026-10-18/",
    "scoreline": "1-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Le Havre 1-1 Auxerre",
   "odds_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-16T14:10:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:10:56.000Z",
    "detected_at": "2026-10-16T17:09:55.529Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Le Havre 1-1 Auxerre",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Le Havre 1-1 Auxerre"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Le Havre 1-3 Auxerre."
   },
   "settlements": [
    {
     "operation_id": "5748706ac449d6efef0a881f446d4a634e112959043cf18ea4817b8e8414bb4f",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.4000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-16T17:24:10.874Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/le-havre/preview/le-havre-vs-auxerre-prediction-team-news-lineups_607041.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-874a1fdddc5336d2e6323672",
   "url": "/evidence/?pick=n-874a1fdddc5336d2e6323672",
   "quote_text": "Gilli will be hoping that his side can rediscover their promising early season form",
   "fragment_from": 5051,
   "fragment_to": 5134,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-6fb4f0895ecb95494dd48ce0",
   "url": "/evidence/?pick=n-6fb4f0895ecb95494dd48ce0",
   "quote_text": "Amine Gouiri has been cleared of a knock",
   "fragment_from": 4587,
   "fragment_to": 4627,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-66372cb252e25f5b618e2e9e",
   "url": "/evidence/?pick=n-66372cb252e25f5b618e2e9e",
   "quote_text": "Pierre-Emile Hojbjerg is expected to be out for at least another week",
   "fragment_from": 4159,
   "fragment_to": 4228,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-7bfc5bd209d5e225c14f5052",
   "url": "/evidence/?pick=n-7bfc5bd209d5e225c14f5052",
   "quote_text": "Derek Cornelius is a confirmed absentee for Marseille",
   "fragment_from": 4023,
   "fragment_to": 4076,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-bd9a5d2121dc42064f4eb34e",
   "url": "/evidence/?pick=n-bd9a5d2121dc42064f4eb34e",
   "quote_text": "Usman Simbakoli is set to be sidelined for the hosts with a groin injury",
   "fragment_from": 3424,
   "fragment_to": 3496,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-277df7d83deca51898f11731",
   "url": "/evidence/?pick=n-277df7d83deca51898f11731",
   "quote_text": "Jordan Lefort will serve the first of a three game suspension",
   "fragment_from": 3233,
   "fragment_to": 3294,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-882bf707e61b4cbc4b937537",
   "url": "/evidence/?pick=n-882bf707e61b4cbc4b937537",
   "quote_text": "Marseille possible starting lineup:",
   "fragment_from": 4837,
   "fragment_to": 4872,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-ff1c339c7dc205058c9449a9",
   "url": "/evidence/?pick=n-ff1c339c7dc205058c9449a9",
   "quote_text": "Angers possible starting lineup:",
   "fragment_from": 4700,
   "fragment_to": 4732,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "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-b7cc4cca8fc05d2757c4a637",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-b7cc4cca8fc05d2757c4a637",
   "quote_text": "We say: Angers 1-3 Marseille",
   "fragment_from": 4972,
   "fragment_to": 5000,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
    "material_removed": false
   },
   "published_at": "2026-10-16T10:49:13.000Z",
   "detected_at": "2026-10-16T11:09:51.466Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-e82f849606a1",
    "display_name": "Angers — Olympique de Marseille",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-18T13:00:00.000Z",
    "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
    "scoreline": "2-5",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Angers 1-3 Olympique de Marseille",
   "odds_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-16T10:49:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Angers 1-3 Olympique de Marseille",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Angers 1-3 Olympique de Marseille"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-5",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Angers 2-5 Olympique de Marseille."
   },
   "settlements": [
    {
     "operation_id": "298e820a3d70b6c33e87c12b75476b63b5ddddb052eceae4c9b8b7ba7648c4f0",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Olympique de Marseille",
     "decimal_odds": "2.0800",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10800,
     "executed_at": "2026-10-16T13:53:33.939Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-23371fb873ec812571e84e64",
   "url": "/evidence/?pick=n-23371fb873ec812571e84e64",
   "quote_text": "Burton Albion possible starting lineup:\n\nAddai; Delap, Evans, Tilt; Borges Rodrigues, Collar, Chauke, Armer; Vickers, Webster; Adom",
   "fragment_from": 5206,
   "fragment_to": 5337,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-7fe412663df0a7deed1579b7",
   "url": "/evidence/?pick=n-7fe412663df0a7deed1579b7",
   "quote_text": "Peterborough United possible starting lineup:\n\nBass; Johnston, Mendonca, Feeney, Mills; Kelly, Ashfield; Shofowoke, Williams, Edwards; Leonard",
   "fragment_from": 5062,
   "fragment_to": 5204,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-99ccc29baac5cbbfa5bb9ee2",
   "url": "/evidence/?pick=n-99ccc29baac5cbbfa5bb9ee2",
   "quote_text": "Despite playing in defence, Finn Delap and Jack Armer have been the visitors’ biggest threats going forward so far this season, scoring three goals each to top the club’s scoring charts after eight League One matches.",
   "fragment_from": 4843,
   "fragment_to": 5060,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-2dbb74abad74e4dc805d85c7",
   "url": "/evidence/?pick=n-2dbb74abad74e4dc805d85c7",
   "quote_text": "Since signing on loan from Brighton & Hove Albion in the summer, Irish forward Mark O’Mahony is yet to make an appearance for the Brewers, though he is reportedly nearing a return to action in the near future.",
   "fragment_from": 4632,
   "fragment_to": 4841,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-21338581d40256ecc11e36c7",
   "url": "/evidence/?pick=n-21338581d40256ecc11e36c7",
   "quote_text": "After breaking his toe last month, Joe Lewis remains out of action for Burton, while defensive partner Kyran Lofthouse looks to be a doubt for Saturday’s clash too having picked up a knock.",
   "fragment_from": 4441,
   "fragment_to": 4630,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-5905e24e8b398a0b37bfbf18",
   "url": "/evidence/?pick=n-5905e24e8b398a0b37bfbf18",
   "quote_text": "Contributing to five goals in his previous six games, striker Harry Leonard is undoubtedly the Posh’s current dangerman and will be looking to at least replicate last season’s 16 strike tally at the end of the 2026-27 League One campaign.",
   "fragment_from": 4201,
   "fragment_to": 4439,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-0bffd460b202818599eb1ddc",
   "url": "/evidence/?pick=n-0bffd460b202818599eb1ddc",
   "quote_text": "Having spent the beginning of the season in the treatment room, Matthew Garbett came off the bench in both of Peterborough’s fixtures last week and will certainly be pushing for a spot in the starting 11 this weekend.",
   "fragment_from": 3982,
   "fragment_to": 4199,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-a9b1829bd4e0e6f6c38b4376",
   "url": "/evidence/?pick=n-a9b1829bd4e0e6f6c38b4376",
   "quote_text": "Following a six month absence with a broken ankle, the Posh welcomed forward Declan Frith back to action against Ipswich U21s last week and will be hoping the 24-year-old can make his first league appearance since April this weekend.",
   "fragment_from": 3747,
   "fragment_to": 3980,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-e5d5c91f027551c3cf7b3c41",
   "url": "/evidence/?pick=n-e5d5c91f027551c3cf7b3c41",
   "quote_text": "Savage will definitely be without Rio Adebisi for Saturday’s clash as the 26-year-old continues his recovery from a long-term knee injury, while fellow defender Samuel Hughes also remains sidelined with an Achilles tendon rupture.",
   "fragment_from": 3515,
   "fragment_to": 3745,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "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-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "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-22cbef31d6603dec1e0da1b2",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-22cbef31d6603dec1e0da1b2",
   "quote_text": "We say: Peterborough United 2-0 Burton Albion",
   "fragment_from": 5339,
   "fragment_to": 5384,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
    "material_removed": false
   },
   "published_at": "2026-10-15T22:18:13.000Z",
   "detected_at": "2026-10-15T23:09:54.056Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-80309d881fc7",
    "display_name": "Peterborough United — Burton Albion",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-17T11:30:00.000Z",
    "url": "/football/matches/peterborough-united-vs-burton-albion-2026-10-17/",
    "scoreline": "2-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Peterborough United 2-0 Burton Albion",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-15T22:18:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Peterborough United 2-0 Burton Albion",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Peterborough United 2-0 Burton Albion"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Peterborough United 2-2 Burton Albion."
   },
   "settlements": [
    {
     "operation_id": "ce916ca225ecc239eb512e58e87d520edb39b3672710d48254358859b0c11c86",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Peterborough United",
     "decimal_odds": "1.8500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-22T11:12:52.124Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ccf1f26b7838ac4082bb82e7",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-ccf1f26b7838ac4082bb82e7",
   "quote_text": "we are backing the away team to take all three points from Buckinghamshire once again this weekend.",
   "fragment_from": 5519,
   "fragment_to": 5618,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mk-dons/preview/mk-dons-vs-luton-prediction-team-news-lineups_606905.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0bdc82faec9a91e5163d12b2bc4c7a22305db10a2e934ea01e797e360c18969b",
    "material_removed": false
   },
   "published_at": "2026-10-14T23:14:37.000Z",
   "detected_at": "2026-10-15T00:09:48.906Z",
   "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-14T23:14:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-14T23:14:37.000Z",
    "detected_at": "2026-10-15T00:09:48.906Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-93acd5a4f4a6869b83eb84dc",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-93acd5a4f4a6869b83eb84dc",
   "quote_text": "We say: MK Dons 1-2 Luton Town",
   "fragment_from": 5084,
   "fragment_to": 5114,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mk-dons/preview/mk-dons-vs-luton-prediction-team-news-lineups_606905.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0bdc82faec9a91e5163d12b2bc4c7a22305db10a2e934ea01e797e360c18969b",
    "material_removed": false
   },
   "published_at": "2026-10-14T23:14:37.000Z",
   "detected_at": "2026-10-15T00:09:48.906Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-14T23:14:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-14T23:14:37.000Z",
    "detected_at": "2026-10-15T00:09:48.906Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-66e7ae86522fc0e0e08277f4",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-66e7ae86522fc0e0e08277f4",
   "quote_text": "We say: Mansfield Town 1-1 Oxford United",
   "fragment_from": 5826,
   "fragment_to": 5866,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-oxford-utd-prediction-team-news-lineups_606853.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8d0779cd0e72a3b77fe62ffda217851a2c5e32ec1aa2807e0363bb0367d867f1",
    "material_removed": false
   },
   "published_at": "2026-10-13T22:33:33.000Z",
   "detected_at": "2026-10-13T23:09:49.979Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-3f81879edc97",
    "display_name": "Mansfield Town — Oxford United",
    "competition_name": "EFL League One",
    "starts_at": "2026-10-15T19:00:00.000Z",
    "url": "/football/matches/mansfield-town-vs-oxford-united-2026-10-15/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Mansfield Town 1-1 Oxford United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "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-13T22:33:33.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-13T22:33:33.000Z",
    "detected_at": "2026-10-13T23:09:49.979Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Mansfield Town 1-1 Oxford United",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Mansfield Town 1-1 Oxford United"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Matched: the final score was Mansfield Town 1-1 Oxford United."
   },
   "settlements": [
    {
     "operation_id": "918a3fb6b8fb220b9468e3e0fee9d55508a299ad9b562783e48e78a6e4ef4679",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.4500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 24500,
     "executed_at": "2026-10-22T11:39:59.549Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Freddie Cotton",
    "publisher": "Sports Mole",
    "forecaster": "Freddie Cotton",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-oxford-utd-prediction-team-news-lineups_606853.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b44b5de6fceb80fbe4ca3496",
   "url": "/evidence/?pick=n-b44b5de6fceb80fbe4ca3496",
   "quote_text": "the visitors will be hoping that they can cause an upset once again this weekend",
   "fragment_from": 3046,
   "fragment_to": 3126,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-afc-wimbledon-prediction-team-news-lineups_606500.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "42ba2052c062a078ad14e6e3c4a7b61b2742ef6004905f3515fdddd9f94cf94d",
    "material_removed": false
   },
   "published_at": "2026-10-08T19:03:08.000Z",
   "detected_at": "2026-10-09T03:09:08.469Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-08T19:03:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-08T19:03:08.000Z",
    "detected_at": "2026-10-09T03:09:08.469Z",
    "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-880be38b0a5c022f841efb11",
   "url": "/evidence/?pick=n-880be38b0a5c022f841efb11",
   "quote_text": "former Exeter man Jayden Stockley is definitely AFC Wimbledon’s biggest threat",
   "fragment_from": 4782,
   "fragment_to": 4860,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-afc-wimbledon-prediction-team-news-lineups_606500.html",
    "display_name": null,
    "speaker": "Freddie Cotton",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "42ba2052c062a078ad14e6e3c4a7b61b2742ef6004905f3515fdddd9f94cf94d",
    "material_removed": false
   },
   "published_at": "2026-10-08T19:03:08.000Z",
   "detected_at": "2026-10-09T03:09:08.469Z",
   "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-08T19:03:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-08T19:03:08.000Z",
    "detected_at": "2026-10-09T03:09:08.469Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 0,
  "service": 5,
  "ruleset_version": "3"
 },
 "standing": {
  "titles": [
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–1 · Mansfield Town v Oxford United · 15 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 1–1 · Mansfield Town v Oxford United · 15 Oct 2026",
    "rationale": "Correct score 1–1 called before the match; 1 other tipster named an exact score on this match, 0 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-all-event",
    "alt": "Freddie Cotton · Exact score 1–1 · Mansfield Town v Oxford United · 15 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/freddie-cotton/#title-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-m-light.svg\" alt=\"Freddie Cotton · Exact score 1–1 · Mansfield Town v Oxford United · 15 Oct 2026 · Tracked by Forecast Record\" width=\"892\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 13 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-15",
    "evidence_through": "2026-10-15",
    "earned_at": "2026-10-15",
    "published_at": "2026-10-25",
    "visible_until": "2027-01-13",
    "badge_label": "Exact score 1–1 · 15 Oct",
    "scope_words": null,
    "title_id": "zk-31c79154f737ce69980a",
    "evidence_items": [
     {
      "nid": "n-66e7ae86522fc0e0e08277f4",
      "data": "2026-10-15",
      "match": "Mansfield Town v Oxford United",
      "said_text": "Correct score: Mansfield Town 1-1 Oxford United",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "1 other tipster named an exact score on this match, 0 right",
      "url": "/authors/freddie-cotton/picks/2/#pick-n-66e7ae86522fc0e0e08277f4"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1212,
       "height": 40,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1212,
       "height": 40,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 892,
       "height": 28,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 892,
       "height": 28,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 697,
       "height": 20,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 697,
       "height": 20,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-all-event-card.svg"
    },
    "profile_anchor": "title-31c79154f737",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–2 · Notts County v Oxford United · 10 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-d1e3a1eee6",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 1–2 · Notts County v Oxford United · 10 Oct 2026",
    "rationale": "Correct score 1–2 called before the match; 1 other tipster named an exact score on this match, 1 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-d1e3a1eee6-event",
    "alt": "Freddie Cotton · Exact score 1–2 · Notts County v Oxford United · 10 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/freddie-cotton/#title-exact-score-called-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-m-light.svg\" alt=\"Freddie Cotton · Exact score 1–2 · Notts County v Oxford United · 10 Oct 2026 · Tracked by Forecast Record\" width=\"876\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 8 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-10",
    "evidence_through": "2026-10-10",
    "earned_at": "2026-10-10",
    "published_at": "2026-10-25",
    "visible_until": "2027-01-08",
    "badge_label": "Exact score 1–2 · 10 Oct",
    "scope_words": null,
    "title_id": "zk-d1e3a1eee682641984fb",
    "evidence_items": [
     {
      "nid": "n-d0c814b430c0e5b6ad2d79f4",
      "data": "2026-10-10",
      "match": "Notts County v Oxford United",
      "said_text": "Correct score: Notts County 1-2 Oxford United",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "1 other tipster named an exact score on this match, 1 right",
      "url": "/authors/freddie-cotton/picks/2/#pick-n-d0c814b430c0e5b6ad2d79f4"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1190,
       "height": 40,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1190,
       "height": 40,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 876,
       "height": 28,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 876,
       "height": 28,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 684,
       "height": 20,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 684,
       "height": 20,
       "url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-ec1b39ab63e5952b6504e997/cs-10-z-d1e3a1eee6-event-card.svg"
    },
    "profile_anchor": "title-d1e3a1eee682",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called-exact-score-called"
   }
  ],
  "publication_mode": "top20",
  "empty_reason": null,
  "rules_version": "catalog-1",
  "insufficient": [],
  "badges_on_page": 0,
  "header_titles": [
   {
    "title_id": "zk-31c79154f737ce69980a",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 1–1 · 15 Oct",
    "body": "Exact score 1–1 · Mansfield Town v Oxford United · 15 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-31c79154f737",
    "event_at": "2026-10-15",
    "url": "/titles/cs-10-exact-score-called/"
   },
   {
    "title_id": "zk-d1e3a1eee682641984fb",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 1–2 · 10 Oct",
    "body": "Exact score 1–2 · Notts County v Oxford United · 10 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-d1e3a1eee682",
    "event_at": "2026-10-10",
    "url": "/titles/cs-10-exact-score-called/"
   }
  ],
  "record_origin": [],
  "recent_record": [
   {
    "code_name": "CS-10",
    "body": "Exact score 1–1 · Mansfield Town v Oxford United · 15 Oct 2026",
    "event_at": "2026-10-15",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-31c79154f737"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 1–2 · Notts County v Oxford United · 10 Oct 2026",
    "event_at": "2026-10-10",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-d1e3a1eee682"
   }
  ],
  "record_details": [],
  "history": []
 },
 "retro": null,
 "late": null,
 "price_vs_market": null,
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "sportsmole.co.uk",
   "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html"
  },
  "observed_from": "2026-09-27",
  "observed_to": "2026-11-06",
  "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": 3,
  "matches": 3,
  "void": 0,
  "net_points_hundredths": -14505,
  "staked_hundredths": 30000,
  "return_percent": "-48.35",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-10-24",
  "period_to": "2026-11-01",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 3 settled live picks by Freddie Cotton before kick-off across 3 matches between 24 October and 1 November 2026. Won 1 of 3 settled live picks at our recorded market prices. Of the 32 predictions we hold for Freddie Cotton, 21 are linked to matches: 21 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "3",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "3",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "−145.05 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "−48.4%",
    "anchor": "/methodology/#roi",
    "note": null
   }
  ],
  "limitations": [],
  "other_series": [],
  "return_over_time": [],
  "return_over_time_parts": {
   "live": {
    "part": "live",
    "label": "Recorded by us before kick-off",
    "series_code": "market_price",
    "price_rule": "Return at our recorded market price",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. Each pick was recorded by us before kick-off and settled after the match.",
    "settled_picks": 3,
    "matches": 3,
    "match_dates": 3,
    "period_from": "2026-10-24",
    "period_to": "2026-11-01",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": -14505,
    "low": {
     "date": "2026-11-01",
     "cumulative_points_hundredths": -14505,
     "after_picks": 3
    },
    "high": {
     "date": "2026-10-25",
     "cumulative_points_hundredths": -4505,
     "after_picks": 2
    },
    "line_drawn": false,
    "steps": [
     {
      "date": "2026-10-24",
      "cumulative_points_hundredths": -10000,
      "n": 1,
      "picks": 1
     },
     {
      "date": "2026-10-25",
      "cumulative_points_hundredths": -4505,
      "n": 2,
      "picks": 1
     },
     {
      "date": "2026-11-01",
      "cumulative_points_hundredths": -14505,
      "n": 3,
      "picks": 1
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 3 settled live picks by Freddie Cotton before kick-off across 3 matches between 24 October and 1 November 2026. Won 1 of 3 settled live picks at our recorded market prices. Of the 32 predictions we hold for Freddie Cotton, 21 are linked to matches: 21 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/freddie-cotton/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 32,
   "under_review": 0,
   "no_match_linked": 11,
   "proven_predictions": 21,
   "proven_checked": 19,
   "proven_measured": 18,
   "proven_dates": 11,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 21,
     "checked": 19,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 3,
      "void": 0,
      "matches": 3,
      "net_points_hundredths": -14505,
      "staked_hundredths": 30000,
      "return_percent": "-48.35",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2026-10-24",
      "period_to": "2026-11-01",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "0.0",
      "checked_after_kickoff_picks": 0
     },
     "same_picks": [
      {
       "price": "Closing price",
       "series_code": "closing_live",
       "picks": 1,
       "return_main_percent": "54.95",
       "return_other_percent": "42.55",
       "settled_excluding_void": 1,
       "net_main_points_hundredths": 5495,
       "net_other_points_hundredths": 4255,
       "period_from": "2026-10-25",
       "period_to": "2026-10-25"
      }
     ],
     "score": {
      "score_forecasts": 15,
      "exact_hits": 2,
      "exact_rate": 13.3,
      "outcome_checked": 15,
      "outcome_hits": 7,
      "outcome_rate": 46.7,
      "baseline_matches": 10,
      "baseline_distinct_matches": 10,
      "outcome_hits_on_baseline": 5,
      "outcome_rate_on_baseline": 50.0,
      "favourite_hits": 5,
      "favourite_rate": 50.0,
      "price_basis": "our pre-match snapshot",
      "pending": 1,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": [
       "Outcome checked. No betting return is attributed to these score forecasts.",
       "2 of 15 score forecasts named the exact score (13.3%).",
       "The result implied by the named score was right in 5 of 10 matches; the market favourite was right in 5 of the same 10 matches.",
       "A pre-match market favourite is known for 10 of 15 forecasts; the comparison uses only those.",
       "The market favourite is the home win, draw or away win with the lowest price in our own odds snapshot taken before kick-off.",
       "The implied result follows from the named score (2-1 implies a home win)."
      ]
     },
     "eligible": {
      "checked": 19,
      "priced": 3
     },
     "accuracy": {
      "picks": 3,
      "won": 1,
      "won_percent": "33.3",
      "implied_percent": "54.8",
      "left_out": 0,
      "by_market": [
       {
        "market": "Match result",
        "won": 1,
        "picks": 3,
        "implied_percent": "54.8"
       }
      ]
     },
     "reviewed_after": {
      "predictions": 2,
      "right": 0,
      "wrong": 2,
      "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-14cf238cc6101a361c36d380",
   "n-28fa0819c9ff181593f7386e",
   "n-c20cb4f8924596277e436c4d"
  ],
  "interval_low": null,
  "interval_high": null,
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 24 October – 1 November 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-09-27",
  "record_to": "2026-11-06"
 },
 "recorded_picks": [
  {
   "record_id": "n-c20cb4f8924596277e436c4d",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-c20cb4f8924596277e436c4d",
   "match": "Sheffield Wednesday v Blackpool",
   "match_url": "/football/matches/sheffield-wednesday-vs-blackpool-2026-11-01/",
   "kickoff": "2026-11-01T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 37.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Sheffield Wednesday",
   "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.7300",
   "published_at": "2026-10-30T23:46:08.000Z",
   "recorded_at": "2026-10-31T00:11:48.962Z",
   "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-c20cb4f8924596277e436c4d",
    "quote_text": "we are backing the home team to pick up all three points on Sunday",
    "fragment_from": 5732,
    "fragment_to": 5798,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
     "material_removed": false
    },
    "published_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "executed_at": "2026-11-01T11:19:36.151Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7682797fd003",
     "display_name": "Sheffield Wednesday — Blackpool",
     "competition_name": "EFL League One",
     "starts_at": "2026-11-01T14:00:00.000Z",
     "url": "/football/matches/sheffield-wednesday-vs-blackpool-2026-11-01/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Sheffield Wednesday",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.7300",
     "our_snapshot_at": "2026-10-31T00:11:47.182Z",
     "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-30T23:46:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T23:46:08.000Z",
     "detected_at": "2026-10-31T00:11:48.962Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Sheffield Wednesday",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Sheffield Wednesday"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Sheffield Wednesday 1-1 Blackpool."
    },
    "settlements": [
     {
      "operation_id": "4317d98caffd24f3d2ad3d7f638f456bcb07af11cdae5d716580832fea1b3b9c",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Sheffield Wednesday",
      "decimal_odds": "1.7300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-01T11:19:36.151Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sheffield Wednesday to win"
   }
  },
  {
   "record_id": "n-28fa0819c9ff181593f7386e",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-28fa0819c9ff181593f7386e",
   "match": "Olympique de Marseille v Le Havre",
   "match_url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 53.1,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympique de Marseille",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5495,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.5495",
   "published_at": "2026-10-23T10:39:06.000Z",
   "recorded_at": "2026-10-23T11:10:11.382Z",
   "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.5495",
    "result": "Won",
    "points_hundredths": 5495,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-28fa0819c9ff181593f7386e",
    "quote_text": "we are backing them to win their third Ligue 1 match on the trot this weekend.",
    "fragment_from": 5393,
    "fragment_to": 5471,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
     "material_removed": false
    },
    "published_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "executed_at": "2026-10-24T09:35:11.769Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-170bec757c5c",
     "display_name": "Olympique de Marseille — Le Havre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympique de Marseille",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.5495",
     "our_snapshot_at": "2026-10-23T11:06:15.078Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5495,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T10:39:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T10:39:06.000Z",
     "detected_at": "2026-10-23T11:10:11.382Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Olympique de Marseille",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympique de Marseille"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Olympique de Marseille 4-3 Le Havre."
    },
    "settlements": [
     {
      "operation_id": "5badbe5ea4201ca0493614ac129df1bf80fb3a70556ce692d780c35c4219393e",
      "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": "Olympique de Marseille",
      "decimal_odds": "1.5495",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5495,
      "executed_at": "2026-10-24T09:35:11.769Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille to win"
   }
  },
  {
   "record_id": "n-14cf238cc6101a361c36d380",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-14cf238cc6101a361c36d380",
   "match": "Cambridge United v Plymouth Argyle",
   "match_url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 44.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Cambridge United",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.3800",
   "published_at": "2026-10-22T15:03:58.000Z",
   "recorded_at": "2026-10-22T17:10:12.347Z",
   "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.3800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-14cf238cc6101a361c36d380",
    "quote_text": "we are still backing the hosts to take all of the points on Saturday afternoon",
    "fragment_from": 5321,
    "fragment_to": 5399,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "executed_at": "2026-10-24T00:49:45.462Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0cb9d015622a",
     "display_name": "Cambridge United — Plymouth Argyle",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Cambridge United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.3800",
     "our_snapshot_at": "2026-10-22T17:09:40.023Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T15:03:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:03:58.000Z",
     "detected_at": "2026-10-22T17:10:12.347Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Cambridge United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Cambridge United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Cambridge United 2-3 Plymouth Argyle."
    },
    "settlements": [
     {
      "operation_id": "fd774903b03eea226c412e5a0f20c6aa7bc0acd52df3293b866e763609e5e4ff",
      "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": "Cambridge United",
      "decimal_odds": "2.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:49:45.462Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United to win"
   }
  },
  {
   "record_id": "n-65498d0bc03597018cd81b7e",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-65498d0bc03597018cd81b7e",
   "match": "Stade Rennais v Lille",
   "match_url": "/football/matches/stade-rennais-vs-lille-2026-11-08/",
   "kickoff": "2026-11-08T14:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 39.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Lille",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T21:33:50.000Z",
   "recorded_at": "2026-11-06T22:10:28.802Z",
   "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-65498d0bc03597018cd81b7e",
    "quote_text": "we are backing them to maintain the pressure on PSG by collecting all three points this weekend",
    "fragment_from": 5799,
    "fragment_to": 5894,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e529a123be2157d3cd549507b78062f1f50b30e72858057203a568e2869c0982",
     "material_removed": false
    },
    "published_at": "2026-11-06T21:33:50.000Z",
    "detected_at": "2026-11-06T22:10:28.802Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-c3818237ab8b",
     "display_name": "Stade Rennais — Lille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-08T14:00:00.000Z",
     "url": "/football/matches/stade-rennais-vs-lille-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "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": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T21:33:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T21:33:50.000Z",
     "detected_at": "2026-11-06T22:10:28.802Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Lille"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 14:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 14:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "209bd35c0dbc3cf081a1ef816bc11c16c107bebc587e5e0981bdc470f43f7814",
      "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": 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": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lille to win"
   }
  },
  {
   "record_id": "n-d2d19f33cbb8cf8b0438e1f8",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-d2d19f33cbb8cf8b0438e1f8",
   "match": "Stade Rennais v Lille",
   "match_url": "/football/matches/stade-rennais-vs-lille-2026-11-08/",
   "kickoff": "2026-11-08T14:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 39.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Stade Rennais 1-2 Lille",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T21:33:50.000Z",
   "recorded_at": "2026-11-06T22:10:28.802Z",
   "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-d2d19f33cbb8cf8b0438e1f8",
    "quote_text": "We say: Rennes 1-2 Lille",
    "fragment_from": 5443,
    "fragment_to": 5467,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e529a123be2157d3cd549507b78062f1f50b30e72858057203a568e2869c0982",
     "material_removed": false
    },
    "published_at": "2026-11-06T21:33:50.000Z",
    "detected_at": "2026-11-06T22:10:28.802Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c3818237ab8b",
     "display_name": "Stade Rennais — Lille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-08T14:00:00.000Z",
     "url": "/football/matches/stade-rennais-vs-lille-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Stade Rennais 1-2 Lille",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T21:33:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T21:33:50.000Z",
     "detected_at": "2026-11-06T22:10:28.802Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Stade Rennais 1-2 Lille",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Stade Rennais 1-2 Lille"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 14:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 14:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "bc5ea0893dfa9e5d7ad96991e80cd778a0f1a262483fa17004b17f14aba093ac",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lille",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T22:45:17.853Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-lille-prediction-team-news-lineups_608644.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stade Rennais 1-2 Lille"
   }
  },
  {
   "record_id": "n-c934ce32a372bfffe76c2276",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-c934ce32a372bfffe76c2276",
   "match": "Sheffield Wednesday v Blackpool",
   "match_url": "/football/matches/sheffield-wednesday-vs-blackpool-2026-11-01/",
   "kickoff": "2026-11-01T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 37.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sheffield Wednesday 3-1 Blackpool",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T23:46:08.000Z",
   "recorded_at": "2026-10-31T00:11:48.962Z",
   "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-c934ce32a372bfffe76c2276",
    "quote_text": "We say: Sheffield Wednesday 3-1 Blackpool",
    "fragment_from": 5358,
    "fragment_to": 5399,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ffb4e460b0c4d237b51dcc4e983d67a3088f5d94338b3ef08266e05ad8d2f3af",
     "material_removed": false
    },
    "published_at": "2026-10-30T23:46:08.000Z",
    "detected_at": "2026-10-31T00:11:48.962Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-7682797fd003",
     "display_name": "Sheffield Wednesday — Blackpool",
     "competition_name": "EFL League One",
     "starts_at": "2026-11-01T14:00:00.000Z",
     "url": "/football/matches/sheffield-wednesday-vs-blackpool-2026-11-01/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sheffield Wednesday 3-1 Blackpool",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T23:46:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T23:46:08.000Z",
     "detected_at": "2026-10-31T00:11:48.962Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Sheffield Wednesday 3-1 Blackpool",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sheffield Wednesday 3-1 Blackpool"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Sheffield Wednesday 1-1 Blackpool."
    },
    "settlements": [
     {
      "operation_id": "4f066f1d9eaf79330eb77db6ac7e28f5d7eaea28ba8ea2256bc5e6a3c92e689e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Sheffield Wednesday",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/preview/sheff-weds-vs-blackpool-prediction-team-news-lineups_608119.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sheffield Wednesday 3-1 Blackpool"
   }
  },
  {
   "record_id": "n-e01018ea6aea41180c766699",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-e01018ea6aea41180c766699",
   "match": "Bradford City v Huddersfield Town",
   "match_url": "/football/matches/bradford-city-vs-huddersfield-town-2026-10-31/",
   "kickoff": "2026-10-31T12:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 30.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bradford City 1-1 Huddersfield Town",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T19:29:19.000Z",
   "recorded_at": "2026-10-30T06:12:33.089Z",
   "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-e01018ea6aea41180c766699",
    "quote_text": "We say: Bradford City 1-1 Huddersfield Town",
    "fragment_from": 5577,
    "fragment_to": 5620,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-huddersfield-prediction-team-news-lineups_607999.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b98977217ac15aa6c5e78f1c98e59c98f65ab0cc65579e0b5db09d8d973a3414",
     "material_removed": false
    },
    "published_at": "2026-10-29T19:29:19.000Z",
    "detected_at": "2026-10-30T06:12:33.089Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8c3ded600b73",
     "display_name": "Bradford City — Huddersfield Town",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-31T12:30:00.000Z",
     "url": "/football/matches/bradford-city-vs-huddersfield-town-2026-10-31/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bradford City 1-1 Huddersfield Town",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T19:29:19.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T19:29:19.000Z",
     "detected_at": "2026-10-30T06:12:33.089Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Bradford City 1-1 Huddersfield Town",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bradford City 1-1 Huddersfield Town"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Bradford City 0-3 Huddersfield Town."
    },
    "settlements": [
     {
      "operation_id": "355deca34a2a93f2f0f7ebb79d5cf8b93ec475ba65a4330c4015d54bae781798",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T07:11:45.710Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/bradford-city/preview/bradford-vs-huddersfield-prediction-team-news-lineups_607999.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bradford City 1-1 Huddersfield Town"
   }
  },
  {
   "record_id": "n-f6efe0530fc3a6b681c01c85",
   "url": "/authors/freddie-cotton/picks/3/#pick-n-f6efe0530fc3a6b681c01c85",
   "match": "St Johnstone v Motherwell",
   "match_url": "/football/matches/st-johnstone-vs-motherwell-2026-10-28/",
   "kickoff": "2026-10-28T19:45:00.000Z",
   "competition": "Scottish Premiership",
   "lead_hours": 49.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: St Johnstone 2-1 Motherwell",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T17:26:43.000Z",
   "recorded_at": "2026-10-26T18:10:08.384Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f6efe0530fc3a6b681c01c85",
    "quote_text": "We say: St Johnstone 2-1 Motherwell",
    "fragment_from": 4952,
    "fragment_to": 4987,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/st-johnstone/preview/st-johnstone-vs-motherwell-prediction-team-news-lineups_607762.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a173f25f3ed62cbab94291b0e2b8b465660db43ac642095a86d16a2b8d5ff4c3",
     "material_removed": false
    },
    "published_at": "2026-10-26T17:26:43.000Z",
    "detected_at": "2026-10-26T18:10:08.384Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-44345ced8f83",
     "display_name": "St Johnstone — Motherwell",
     "competition_name": "Scottish Premiership",
     "starts_at": "2026-10-28T19:45:00.000Z",
     "url": "/football/matches/st-johnstone-vs-motherwell-2026-10-28/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "St Johnstone 2-1 Motherwell",
    "odds_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-26T17:26:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T17:26:43.000Z",
     "detected_at": "2026-10-26T18:10:08.384Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "St Johnstone 2-1 Motherwell",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: St Johnstone 2-1 Motherwell"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was St Johnstone 2-2 Motherwell."
    },
    "settlements": [
     {
      "operation_id": "2eb0d25bb7cece5875dba36aa089a744823123304bdad1139929ba261b49ee0f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "St Johnstone",
      "decimal_odds": "2.4850",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T17:22:36.327Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/st-johnstone/preview/st-johnstone-vs-motherwell-prediction-team-news-lineups_607762.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "St Johnstone 2-1 Motherwell"
   }
  },
  {
   "record_id": "n-ecc6885c0179615bdfe86246",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-ecc6885c0179615bdfe86246",
   "match": "Angers v Lorient",
   "match_url": "/football/matches/angers-vs-lorient-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 50.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Angers 0-1 Lorient",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T13:49:30.000Z",
   "recorded_at": "2026-10-23T14:10:16.049Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.4000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-ecc6885c0179615bdfe86246",
    "quote_text": "We say: Angers 0-1 Lorient",
    "fragment_from": 4589,
    "fragment_to": 4615,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "71e0c51a69cdc68cc3a021bdf1ee8c71cdd53a0a37affae965ba1ff5fd6495e2",
     "material_removed": false
    },
    "published_at": "2026-10-23T13:49:30.000Z",
    "detected_at": "2026-10-23T14:10:16.049Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d7bdeb5c972b",
     "display_name": "Angers — Lorient",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/angers-vs-lorient-2026-10-25/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Angers 0-1 Lorient",
    "odds_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-23T13:49:30.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T13:49:30.000Z",
     "detected_at": "2026-10-23T14:10:16.049Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Angers 0-1 Lorient",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Angers 0-1 Lorient"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Angers 0-0 Lorient."
    },
    "settlements": [
     {
      "operation_id": "858012fcabd502ff865fb05e97978678b8ff7c4f33ab60e03a5534f83ceb80ad",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lorient",
      "decimal_odds": "2.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T09:33:52.710Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Angers 0-1 Lorient"
   }
  },
  {
   "record_id": "n-67599dc2631f10445a18ff2e",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-67599dc2631f10445a18ff2e",
   "match": "Olympique de Marseille v Le Havre",
   "match_url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 53.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique de Marseille 3-0 Le Havre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T10:39:06.000Z",
   "recorded_at": "2026-10-23T11:10:11.382Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5495",
    "result": "Won",
    "points_hundredths": 5495,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-67599dc2631f10445a18ff2e",
    "quote_text": "We say: Marseille 3-0 Le Havre",
    "fragment_from": 5043,
    "fragment_to": 5073,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
     "material_removed": false
    },
    "published_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-170bec757c5c",
     "display_name": "Olympique de Marseille — Le Havre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique de Marseille 3-0 Le Havre",
    "odds_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-23T10:39:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T10:39:06.000Z",
     "detected_at": "2026-10-23T11:10:11.382Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Olympique de Marseille 3-0 Le Havre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique de Marseille 3-0 Le Havre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Olympique de Marseille 4-3 Le Havre."
    },
    "settlements": [
     {
      "operation_id": "aa2d48405e5e6051f8cac56be20d512142ff6a9d90701bd0a608100ab4a99e3e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": "1.5495",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5495,
      "executed_at": "2026-10-24T09:35:11.751Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille 3-0 Le Havre"
   }
  },
  {
   "record_id": "n-b881a2d36104172a8d580a19",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-b881a2d36104172a8d580a19",
   "match": "Cambridge United v Plymouth Argyle",
   "match_url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cambridge United 2-1 Plymouth Argyle",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T15:03:58.000Z",
   "recorded_at": "2026-10-22T17:10:12.347Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-b881a2d36104172a8d580a19",
    "quote_text": "We say: Cambridge United 2-1 Plymouth Argyle",
    "fragment_from": 4993,
    "fragment_to": 5037,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0cb9d015622a",
     "display_name": "Cambridge United — Plymouth Argyle",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cambridge United 2-1 Plymouth Argyle",
    "odds_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-22T15:03:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:03:58.000Z",
     "detected_at": "2026-10-22T17:10:12.347Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Cambridge United 2-1 Plymouth Argyle",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cambridge United 2-1 Plymouth Argyle"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Cambridge United 2-3 Plymouth Argyle."
    },
    "settlements": [
     {
      "operation_id": "19551e560ff3f4a3337b3b461e0a65982bbfc2ef5ade518d85ddd29ec2924339",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Cambridge United",
      "decimal_odds": "2.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:49:45.446Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United 2-1 Plymouth Argyle"
   }
  },
  {
   "record_id": "n-8f6879bddd0d2da555bca1f0",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-8f6879bddd0d2da555bca1f0",
   "match": "Falkirk v Kilmarnock",
   "match_url": null,
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "Scottish Premiership",
   "lead_hours": 61.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Falkirk 2-1 Kilmarnock",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-21T23:21:00.000Z",
   "recorded_at": "2026-10-22T00:09:59.844Z",
   "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-8f6879bddd0d2da555bca1f0",
    "quote_text": "We say: Falkirk 2-1 Kilmarnock",
    "fragment_from": 5149,
    "fragment_to": 5179,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/falkirk/preview/falkirk-vs-kilmarnock-prediction-team-news-lineups_607394.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "141c1862b3bddcfb4016730b37442d85f24ccd887747f295d9afb4f2e2081254",
     "material_removed": false
    },
    "published_at": "2026-10-21T23:21:00.000Z",
    "detected_at": "2026-10-22T00:09:59.844Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-b1e6c53a1f77",
     "display_name": "Falkirk — Kilmarnock",
     "competition_name": "Scottish Premiership",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": null,
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Falkirk 2-1 Kilmarnock",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T23:21:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T23:21:00.000Z",
     "detected_at": "2026-10-22T00:09:59.844Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Falkirk 2-1 Kilmarnock",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Falkirk 2-1 Kilmarnock"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Falkirk 3-0 Kilmarnock."
    },
    "settlements": [
     {
      "operation_id": "ce79bc3a9155e85ad7f542d3eed15fa683305a248f3a5d2540ce35542fb85c2c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Falkirk",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/falkirk/preview/falkirk-vs-kilmarnock-prediction-team-news-lineups_607394.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Falkirk 2-1 Kilmarnock"
   }
  },
  {
   "record_id": "n-4a4f5eaa429612e70de2c53f",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-4a4f5eaa429612e70de2c53f",
   "match": "Jagiellonia v Anderlecht",
   "match_url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Jagiellonia 1-1 Anderlecht",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T14:01:03.000Z",
   "recorded_at": "2026-10-20T15:10:08.932Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.2000",
    "result": "Won",
    "points_hundredths": 12000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-4a4f5eaa429612e70de2c53f",
    "quote_text": "We say: Jagiellonia Bialystok 1-1 Anderlecht",
    "fragment_from": 5180,
    "fragment_to": 5224,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7a469438af53ad4335684a69d96ce0f0cb52460388584e8c3c6039fad98bf4db",
     "material_removed": false
    },
    "published_at": "2026-10-20T14:01:03.000Z",
    "detected_at": "2026-10-20T15:10:08.932Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7c076b290dd2",
     "display_name": "Jagiellonia — Anderlecht",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Jagiellonia 1-1 Anderlecht",
    "odds_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-20T14:01:03.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T14:01:03.000Z",
     "detected_at": "2026-10-20T15:10:08.932Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Jagiellonia 1-1 Anderlecht",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Jagiellonia 1-1 Anderlecht"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Jagiellonia 0-3 Anderlecht."
    },
    "settlements": [
     {
      "operation_id": "4f004f95e12583adf9e4496ca1cc1a4d459389a540daca6d8c2b0a2d0525bb66",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-27T02:22:10.466Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Jagiellonia 1-1 Anderlecht"
   }
  },
  {
   "record_id": "n-fd67315b88c18c715a505e78",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-fd67315b88c18c715a505e78",
   "match": "Oxford United v Wigan Athletic",
   "match_url": "/football/matches/oxford-united-vs-wigan-athletic-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 43.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Oxford United 3-1 Wigan Athletic",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T22:15:22.000Z",
   "recorded_at": "2026-10-18T23:10:14.162Z",
   "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-fd67315b88c18c715a505e78",
    "quote_text": "We say: Oxford United 3-1 Wigan Athletic",
    "fragment_from": 5104,
    "fragment_to": 5144,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-wigan-prediction-team-news-lineups_607190.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4dd84358fc34097441804425175ef46de3b6e00a6c0b7e5db5a09877cdb4e9f2",
     "material_removed": false
    },
    "published_at": "2026-10-18T22:15:22.000Z",
    "detected_at": "2026-10-18T23:10:14.162Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-78dbf67f34d8",
     "display_name": "Oxford United — Wigan Athletic",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/oxford-united-vs-wigan-athletic-2026-10-20/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Oxford United 3-1 Wigan Athletic",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T22:15:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T22:15:22.000Z",
     "detected_at": "2026-10-18T23:10:14.162Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Oxford United 3-1 Wigan Athletic",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Oxford United 3-1 Wigan Athletic"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Oxford United 2-1 Wigan Athletic."
    },
    "settlements": [
     {
      "operation_id": "3882d9419e95fe9d8849f584c6687f9f6e40f3cc78f0c6ff7b3b968be8a3c160",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Oxford United",
      "decimal_odds": "1.8700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8700,
      "executed_at": "2026-10-22T12:45:40.570Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-wigan-prediction-team-news-lineups_607190.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Oxford United 3-1 Wigan Athletic"
   }
  },
  {
   "record_id": "n-a526c9d2cbe89f7eadc3d8d2",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-a526c9d2cbe89f7eadc3d8d2",
   "match": "Le Havre v Auxerre",
   "match_url": "/football/matches/le-havre-vs-auxerre-2026-10-18/",
   "kickoff": "2026-10-18T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 46.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Le Havre 1-1 Auxerre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T14:10:56.000Z",
   "recorded_at": "2026-10-16T17:09:55.529Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-a526c9d2cbe89f7eadc3d8d2",
    "quote_text": "We say: Le Havre 1-1 Auxerre",
    "fragment_from": 4387,
    "fragment_to": 4415,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/le-havre/preview/le-havre-vs-auxerre-prediction-team-news-lineups_607041.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e13daa9468498cba08cfcd80568ac1785a23db3503ce65404863620b950b3b3e",
     "material_removed": false
    },
    "published_at": "2026-10-16T14:10:56.000Z",
    "detected_at": "2026-10-16T17:09:55.529Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ce51722d547",
     "display_name": "Le Havre — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T15:15:00.000Z",
     "url": "/football/matches/le-havre-vs-auxerre-2026-10-18/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Le Havre 1-1 Auxerre",
    "odds_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-16T14:10:56.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T14:10:56.000Z",
     "detected_at": "2026-10-16T17:09:55.529Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Le Havre 1-1 Auxerre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Le Havre 1-1 Auxerre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Le Havre 1-3 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "5748706ac449d6efef0a881f446d4a634e112959043cf18ea4817b8e8414bb4f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-16T17:24:10.874Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/le-havre/preview/le-havre-vs-auxerre-prediction-team-news-lineups_607041.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Le Havre 1-1 Auxerre"
   }
  },
  {
   "record_id": "n-b7cc4cca8fc05d2757c4a637",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-b7cc4cca8fc05d2757c4a637",
   "match": "Angers v Olympique de Marseille",
   "match_url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Angers 1-3 Olympique de Marseille",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-5",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T10:49:13.000Z",
   "recorded_at": "2026-10-16T11:09:51.466Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.0800",
    "result": "Won",
    "points_hundredths": 10800,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-b7cc4cca8fc05d2757c4a637",
    "quote_text": "We say: Angers 1-3 Marseille",
    "fragment_from": 4972,
    "fragment_to": 5000,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
     "material_removed": false
    },
    "published_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e82f849606a1",
     "display_name": "Angers — Olympique de Marseille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
     "scoreline": "2-5",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Angers 1-3 Olympique de Marseille",
    "odds_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-16T10:49:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T10:49:13.000Z",
     "detected_at": "2026-10-16T11:09:51.466Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Angers 1-3 Olympique de Marseille",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Angers 1-3 Olympique de Marseille"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Angers 2-5 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "298e820a3d70b6c33e87c12b75476b63b5ddddb052eceae4c9b8b7ba7648c4f0",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": "2.0800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10800,
      "executed_at": "2026-10-16T13:53:33.939Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Angers 1-3 Olympique de Marseille"
   }
  },
  {
   "record_id": "n-22cbef31d6603dec1e0da1b2",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-22cbef31d6603dec1e0da1b2",
   "match": "Peterborough United v Burton Albion",
   "match_url": "/football/matches/peterborough-united-vs-burton-albion-2026-10-17/",
   "kickoff": "2026-10-17T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Peterborough United 2-0 Burton Albion",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T22:18:13.000Z",
   "recorded_at": "2026-10-15T23:09:54.056Z",
   "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-22cbef31d6603dec1e0da1b2",
    "quote_text": "We say: Peterborough United 2-0 Burton Albion",
    "fragment_from": 5339,
    "fragment_to": 5384,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
     "material_removed": false
    },
    "published_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-80309d881fc7",
     "display_name": "Peterborough United — Burton Albion",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T11:30:00.000Z",
     "url": "/football/matches/peterborough-united-vs-burton-albion-2026-10-17/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Peterborough United 2-0 Burton Albion",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T22:18:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T22:18:13.000Z",
     "detected_at": "2026-10-15T23:09:54.056Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Peterborough United 2-0 Burton Albion",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Peterborough United 2-0 Burton Albion"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Peterborough United 2-2 Burton Albion."
    },
    "settlements": [
     {
      "operation_id": "ce916ca225ecc239eb512e58e87d520edb39b3672710d48254358859b0c11c86",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Peterborough United",
      "decimal_odds": "1.8500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:12:52.124Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Peterborough United 2-0 Burton Albion"
   }
  },
  {
   "record_id": "n-66e7ae86522fc0e0e08277f4",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-66e7ae86522fc0e0e08277f4",
   "match": "Mansfield Town v Oxford United",
   "match_url": "/football/matches/mansfield-town-vs-oxford-united-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Mansfield Town 1-1 Oxford United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T22:33:33.000Z",
   "recorded_at": "2026-10-13T23:09:49.979Z",
   "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-66e7ae86522fc0e0e08277f4",
    "quote_text": "We say: Mansfield Town 1-1 Oxford United",
    "fragment_from": 5826,
    "fragment_to": 5866,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-oxford-utd-prediction-team-news-lineups_606853.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8d0779cd0e72a3b77fe62ffda217851a2c5e32ec1aa2807e0363bb0367d867f1",
     "material_removed": false
    },
    "published_at": "2026-10-13T22:33:33.000Z",
    "detected_at": "2026-10-13T23:09:49.979Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3f81879edc97",
     "display_name": "Mansfield Town — Oxford United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/mansfield-town-vs-oxford-united-2026-10-15/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Mansfield Town 1-1 Oxford United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-13T22:33:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T22:33:33.000Z",
     "detected_at": "2026-10-13T23:09:49.979Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Mansfield Town 1-1 Oxford United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Mansfield Town 1-1 Oxford United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Mansfield Town 1-1 Oxford United."
    },
    "settlements": [
     {
      "operation_id": "918a3fb6b8fb220b9468e3e0fee9d55508a299ad9b562783e48e78a6e4ef4679",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24500,
      "executed_at": "2026-10-22T11:39:59.549Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-oxford-utd-prediction-team-news-lineups_606853.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Mansfield Town 1-1 Oxford United"
   }
  },
  {
   "record_id": "n-d0a60decc2c03e3fea919519",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-d0a60decc2c03e3fea919519",
   "match": "Plymouth Argyle v AFC Wimbledon",
   "match_url": "/football/matches/plymouth-argyle-vs-afc-wimbledon-2026-10-10/",
   "kickoff": "2026-10-10T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 32.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Plymouth Argyle 2-0 AFC Wimbledon",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T19:03:08.000Z",
   "recorded_at": "2026-10-09T03:09:08.469Z",
   "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-d0a60decc2c03e3fea919519",
    "quote_text": "We say: Plymouth Argyle 2-0 AFC Wimbledon",
    "fragment_from": 5212,
    "fragment_to": 5253,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-afc-wimbledon-prediction-team-news-lineups_606500.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "42ba2052c062a078ad14e6e3c4a7b61b2742ef6004905f3515fdddd9f94cf94d",
     "material_removed": false
    },
    "published_at": "2026-10-08T19:03:08.000Z",
    "detected_at": "2026-10-09T03:09:08.469Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1b06d75ab94b",
     "display_name": "Plymouth Argyle — AFC Wimbledon",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T11:30:00.000Z",
     "url": "/football/matches/plymouth-argyle-vs-afc-wimbledon-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Plymouth Argyle 2-0 AFC Wimbledon",
    "odds_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-08T19:03:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T19:03:08.000Z",
     "detected_at": "2026-10-09T03:09:08.469Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Plymouth Argyle 2-0 AFC Wimbledon",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Plymouth Argyle 2-0 AFC Wimbledon"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Plymouth Argyle 2-1 AFC Wimbledon."
    },
    "settlements": [
     {
      "operation_id": "1cc9ad5131cd552a0c8062dc9a1a25ae5ae43b5c355d35ae0206f64c92973bdb",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Plymouth Argyle",
      "decimal_odds": "1.4800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4800,
      "executed_at": "2026-10-22T12:25:12.248Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-afc-wimbledon-prediction-team-news-lineups_606500.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Plymouth Argyle 2-0 AFC Wimbledon"
   }
  },
  {
   "record_id": "n-95871c11b38a167d36bd01d5",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-95871c11b38a167d36bd01d5",
   "match": "Notts County v Oxford United",
   "match_url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
   "kickoff": "2026-10-10T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 40.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Oxford United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-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-08T18:24:28.000Z",
   "recorded_at": "2026-10-08T19:13:20.882Z",
   "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-95871c11b38a167d36bd01d5",
    "quote_text": "the U's are heavy favourites to take three points this weekend",
    "fragment_from": 6381,
    "fragment_to": 6443,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1a1166ce85f7eae66e44d7359c82cb0cd6810e23307ddc3a553c959fd0351ac8",
     "material_removed": false
    },
    "published_at": "2026-10-08T18:24:28.000Z",
    "detected_at": "2026-10-08T19:13:20.882Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-2ac37db97147",
     "display_name": "Notts County — Oxford United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T11:30:00.000Z",
     "url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Oxford United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-08T18:24:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T18:24:28.000Z",
     "detected_at": "2026-10-08T19:13:20.882Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Oxford United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Oxford United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Notts County 1-2 Oxford United."
    },
    "settlements": [
     {
      "operation_id": "d1d3e4b52a5377735cf63941dfc4fe711f425dd532246b07bd4b77d2638073d5",
      "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": "Oxford United",
      "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": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Oxford United to win"
   }
  },
  {
   "record_id": "n-d0c814b430c0e5b6ad2d79f4",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-d0c814b430c0e5b6ad2d79f4",
   "match": "Notts County v Oxford United",
   "match_url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
   "kickoff": "2026-10-10T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 40.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Notts County 1-2 Oxford United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T18:24:28.000Z",
   "recorded_at": "2026-10-08T19:13:20.882Z",
   "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-d0c814b430c0e5b6ad2d79f4",
    "quote_text": "We say: Notts County 1-2 Oxford United",
    "fragment_from": 5988,
    "fragment_to": 6026,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1a1166ce85f7eae66e44d7359c82cb0cd6810e23307ddc3a553c959fd0351ac8",
     "material_removed": false
    },
    "published_at": "2026-10-08T18:24:28.000Z",
    "detected_at": "2026-10-08T19:13:20.882Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2ac37db97147",
     "display_name": "Notts County — Oxford United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T11:30:00.000Z",
     "url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Notts County 1-2 Oxford United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-08T18:24:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T18:24:28.000Z",
     "detected_at": "2026-10-08T19:13:20.882Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Notts County 1-2 Oxford United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Notts County 1-2 Oxford United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Notts County 1-2 Oxford United."
    },
    "settlements": [
     {
      "operation_id": "c1d807749dd35c3d6394a7d0b3309a1d6d8835752b955205d12e385b37769865",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Oxford United",
      "decimal_odds": "2.6500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 16500,
      "executed_at": "2026-10-22T12:25:12.506Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Notts County 1-2 Oxford United"
   }
  },
  {
   "record_id": "n-f905786a5a34a4a6cae9bfec",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: England 34-24 Australia",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T19:15:11.000Z",
   "recorded_at": "2026-11-06T20:10:25.928Z",
   "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-6e29060de142e7d225681ed6",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Scotland 23-32 New Zealand",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T17:06:19.000Z",
   "recorded_at": "2026-11-05T18:10:23.724Z",
   "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-d8ce287f2fdfcde05917f833",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "are backing the hosts to climb further up the Northern Hemisphere table with a bonus point win in Dublin.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-04T19:08:28.000Z",
   "recorded_at": "2026-11-04T20:12:02.430Z",
   "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-a66d4463128e38eacbe7dd1f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Ireland 35-18 Argentina",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-04T19:08:28.000Z",
   "recorded_at": "2026-11-04T20:12:02.430Z",
   "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-77033ff8a4b51dbcaf3e074c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Torreense 2-1 Ararat-Armenia",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-03T16:08:22.000Z",
   "recorded_at": "2026-11-03T17:10:14.842Z",
   "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-09e3ce70fa9d1563720e3789",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Barnsley 1-3 Oxford United",
   "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-29T20:02:16.000Z",
   "recorded_at": "2026-10-29T21:10:44.714Z",
   "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-ccf1f26b7838ac4082bb82e7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we are backing the away team to take all three points from Buckinghamshire once again this weekend.",
   "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-14T23:14:37.000Z",
   "recorded_at": "2026-10-15T00:09:48.906Z",
   "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-93acd5a4f4a6869b83eb84dc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: MK Dons 1-2 Luton Town",
   "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-14T23:14:37.000Z",
   "recorded_at": "2026-10-15T00:09:48.906Z",
   "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-f5bb2107242c3dde994c5c83",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Luxembourg 3-1 Iceland",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T21:58:44.000Z",
   "recorded_at": "2026-09-27T22:01:43.457Z",
   "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-113cb6cea3925df295f0831e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we think Jamaica will add to their success against Guatemala by claiming victory",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-26T22:28:56.000Z",
   "recorded_at": "2026-09-27T01:07:42.637Z",
   "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-cfefd7aa1355d15ce316b92c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Jamaica 3-1 Honduras",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-26T22:28:56.000Z",
   "recorded_at": "2026-09-27T01:07:42.637Z",
   "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": 21,
  "before_kickoff": 21,
  "after_kickoff": 0,
  "at_least_2h": 21,
  "share_2h_plus": 100.0,
  "median_hours": 43.8,
  "min_hours": 30.3,
  "max_hours": 61.8,
  "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": 8,
  "settled_picks_all": 16,
  "excluded": {
   "market_without_favourite": 0,
   "no_recorded_line": 8,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 80000,
  "author_net_hundredths": -28210,
  "favourite_net_hundredths": -6210,
  "difference_hundredths": -22000,
  "author_return_percent": -35.26,
  "favourite_return_percent": -7.76,
  "author_hit_rate": 37.5,
  "favourite_hit_rate": 50.0,
  "picked_favourite_share": 75.0,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 8,
    "staked_hundredths": 80000,
    "author_net_hundredths": -28210,
    "favourite_net_hundredths": -6210,
    "author_hits": 3,
    "favourite_hits": 4,
    "picked_favourite": 6,
    "author_return_percent": -35.26,
    "favourite_return_percent": -7.76
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-18T13:00:00.000Z",
    "author_cumulative_hundredths": 10800,
    "favourite_cumulative_hundredths": 10800
   },
   {
    "kickoff": "2026-10-18T15:15:00.000Z",
    "author_cumulative_hundredths": 800,
    "favourite_cumulative_hundredths": 800
   },
   {
    "kickoff": "2026-10-22T19:00:00.000Z",
    "author_cumulative_hundredths": -9200,
    "favourite_cumulative_hundredths": 12800
   },
   {
    "kickoff": "2026-10-24T14:00:00.000Z",
    "author_cumulative_hundredths": -19200,
    "favourite_cumulative_hundredths": 2800
   },
   {
    "kickoff": "2026-10-24T14:00:00.000Z",
    "author_cumulative_hundredths": -29200,
    "favourite_cumulative_hundredths": -7200
   },
   {
    "kickoff": "2026-10-25T16:15:00.000Z",
    "author_cumulative_hundredths": -23705,
    "favourite_cumulative_hundredths": -1705
   },
   {
    "kickoff": "2026-10-25T16:15:00.000Z",
    "author_cumulative_hundredths": -18210,
    "favourite_cumulative_hundredths": 3790
   },
   {
    "kickoff": "2026-10-25T16:15:00.000Z",
    "author_cumulative_hundredths": -28210,
    "favourite_cumulative_hundredths": -6210
   }
  ],
  "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": 32,
  "pages": 3,
  "page_urls": [
   "/authors/freddie-cotton/",
   "/authors/freddie-cotton/picks/2/",
   "/authors/freddie-cotton/picks/3/"
  ],
  "groups": {
   "settled": 3,
   "pending": 0,
   "excluded": 29
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/freddie-cotton/",
  "current": false
 },
 "title_tag": "Freddie Cotton Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-ec1b39ab63e5952b6504e997",
  "type_code": "individual",
  "name_shown": "Freddie Cotton",
  "main_entity": "e-ec1b39ab63e5952b6504e997",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-ec1b39ab63e5952b6504e997",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Freddie Cotton",
    "url": "/sources/sports-mole/",
    "summary": {
     "statements": 109,
     "predictions": 32,
     "settled_picks": 3,
     "headline_kind": "live_snapshot",
     "return_percent": -48.35,
     "headline_part": "live",
     "period_from": "2026-09-27",
     "period_to": "2026-11-06"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-11-01.3",
  "updated": "2026-11-01",
  "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": 3,
   "matches": 3,
   "void": 0,
   "period_from": "2026-10-24",
   "period_to": "2026-11-01",
   "composition_hash": "dd2403604fcb471cd8bbc204922cc91ed802c731dab29c1b70f87eb55cf9a6aa"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-a6106b45cbda3b149181",
   "at": "2026-11-01T19:56:40.745Z",
   "data_version": "2026-11-01.3",
   "previous_data_version": "2026-11-01.2",
   "url": "/authors/freddie-cotton/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-27.1",
    "return_percent": "-22.52",
    "settled_picks": 2,
    "matches": 2,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "ede19afaa7893fe672f77928269284c0e8440a64f19740f4f15db1b1f1c284fa",
    "text": "−45.05 points on 2 settled picks across 2 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-01.3",
    "return_percent": "-48.35",
    "settled_picks": 3,
    "matches": 3,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "dd2403604fcb471cd8bbc204922cc91ed802c731dab29c1b70f87eb55cf9a6aa",
    "text": "−145.05 points on 3 settled picks across 3 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-e74ffe51d28d73deda5f",
   "at": "2026-10-27T07:47:02.386Z",
   "data_version": "2026-10-27.1",
   "previous_data_version": "2026-10-26.1",
   "url": "/authors/freddie-cotton/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-24.4",
    "return_percent": "-100.00",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "c99c41c3a46b39887ea3bb6407380d006974d248492c651e5976980c2505c883",
    "text": "−100.00 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-27.1",
    "return_percent": "-22.52",
    "settled_picks": 2,
    "matches": 2,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "ede19afaa7893fe672f77928269284c0e8440a64f19740f4f15db1b1f1c284fa",
    "text": "−45.05 points on 2 settled picks across 2 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-3f34e4947c0f44ab5e9f",
   "at": "2026-10-24T16:52:01.947Z",
   "data_version": "2026-10-24.4",
   "previous_data_version": "2026-10-24.3",
   "url": "/authors/freddie-cotton/",
   "category": "new_results",
   "category_words": "New results",
   "before": null,
   "after": {
    "data_version": "2026-10-24.4",
    "return_percent": "-100.00",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "c99c41c3a46b39887ea3bb6407380d006974d248492c651e5976980c2505c883",
    "text": "−100.00 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "reason": "First headline number for this record: 1 settled pick in the series “independent odds snapshot”.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 3,
    "total_check": true,
    "market_list": [
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 3,
      "won": 1,
      "void": 0,
      "net_points_hundredths": -14505,
      "return_percent": "-48.4",
      "period_from": "2026-10-24",
      "period_to": "2026-11-01",
      "small_sample": true,
      "average_odds": "1.89",
      "odds_from_author": 0,
      "odds_from_snapshot": 3
     }
    ],
    "leagues": [
     {
      "code_name": "EFL League One",
      "in_words": "EFL League One",
      "url": "/football/competitions/efl-league-one/",
      "settled_picks": 2,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -20000,
      "return_percent": "-100.0",
      "period_from": "2026-10-24",
      "period_to": "2026-11-01",
      "small_sample": true,
      "average_odds": "2.05",
      "odds_from_author": 0,
      "odds_from_snapshot": 2,
      "league_markets": [
       {
        "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-24",
        "period_to": "2026-11-01",
        "small_sample": true,
        "average_odds": "2.05",
        "odds_from_author": 0,
        "odds_from_snapshot": 2
       }
      ]
     },
     {
      "code_name": "Ligue 1",
      "in_words": "Ligue 1",
      "url": "/football/competitions/ligue-1/",
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 5495,
      "return_percent": "55.0",
      "period_from": "2026-10-25",
      "period_to": "2026-10-25",
      "small_sample": true,
      "average_odds": "1.55",
      "odds_from_author": 0,
      "odds_from_snapshot": 1,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 5495,
        "return_percent": null,
        "period_from": "2026-10-25",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "1.55",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     }
    ],
    "best_slice": null
   }
  ],
  "best_slice": null
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 27 September 2026 · 32 predictions · last change 6 November 2026",
  "url": "https://forecastrecord.com/authors/freddie-cotton/",
  "s": "2026-09-27",
  "prediction_count": 32,
  "refreshed_at": "2026-11-06",
  "html": "<a href=\"https://forecastrecord.com/authors/freddie-cotton/\">Record tracked by Forecast Record since 27 September 2026 · 32 predictions · last change 6 November 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 19,
  "days": 23,
  "weeks": 4,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 4,
  "first_settled_on": "2026-10-10",
  "products_in_level": 1,
  "rule": {
   "tracked": {
    "min_settled": 30,
    "min_days": 30,
    "min_distinct_weeks": 2,
    "no_violations": true
   },
   "established": {
    "min_settled": 100,
    "min_days": 90
   }
  },
  "show": true
 },
 "colleagues": [
  {
   "source_code": "sports-mole",
   "source_name": "Sports Mole",
   "source_url": "/sources/sports-mole/",
   "label": "Also at Sports Mole",
   "authors_total": 24,
   "authors": [
    {
     "name": "Saikat Mandal",
     "url": "/authors/saikat-mandal/",
     "headline_part": "live",
     "settled_picks": 57,
     "return_percent": "32.5",
     "small_sample": false,
     "average_odds": "2.21",
     "odds_from_author": 56,
     "odds_from_snapshot": 1
    },
    {
     "name": "Lewis Nolan",
     "url": "/authors/lewis-nolan/",
     "headline_part": "live",
     "settled_picks": 47,
     "return_percent": "-55.1",
     "small_sample": false,
     "average_odds": "2.22",
     "odds_from_author": 47,
     "odds_from_snapshot": 0
    },
    {
     "name": "Adeyeye Oluwapelumi",
     "url": "/authors/adeyeye-oluwapelumi/",
     "headline_part": "live",
     "settled_picks": 33,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Joshua Cole",
     "url": "/authors/joshua-cole/",
     "headline_part": "live",
     "settled_picks": 32,
     "return_percent": "-40.1",
     "small_sample": false,
     "average_odds": "2.26",
     "odds_from_author": 32,
     "odds_from_snapshot": 0
    },
    {
     "name": "Marvellous Adepoju",
     "url": "/authors/marvellous-adepoju/",
     "headline_part": "live",
     "settled_picks": 25,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Byron David",
     "url": "/authors/byron-david/",
     "headline_part": "live",
     "settled_picks": 24,
     "return_percent": "19.7",
     "small_sample": false,
     "average_odds": "2.09",
     "odds_from_author": 24,
     "odds_from_snapshot": 0
    },
    {
     "name": "Joshua Ojele",
     "url": "/authors/joshua-ojele/",
     "headline_part": "live",
     "settled_picks": 18,
     "return_percent": "-14.8",
     "small_sample": false,
     "average_odds": "1.69",
     "odds_from_author": 16,
     "odds_from_snapshot": 2
    },
    {
     "name": "Calum Burrowes",
     "url": "/authors/calum-burrowes/",
     "headline_part": "live",
     "settled_picks": 15,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Matt Law",
     "url": "/authors/matt-law/",
     "headline_part": "live",
     "settled_picks": 13,
     "return_percent": "-76.7",
     "small_sample": false,
     "average_odds": "7.90",
     "odds_from_author": 0,
     "odds_from_snapshot": 13
    },
    {
     "name": "Sam Varley",
     "url": "/authors/sam-varley/",
     "headline_part": "live",
     "settled_picks": 11,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Darren Plant",
     "url": "/authors/darren-plant/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "5.46",
     "odds_from_author": 0,
     "odds_from_snapshot": 6
    },
    {
     "name": "Oliver Thomas",
     "url": "/authors/oliver-thomas/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    }
   ]
  }
 ],
 "author_type": "Pundit",
 "data_changes": {
  "added_later": null,
  "records_corrected": 0,
  "last_correction_at": null,
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-ec1b39ab63e5952b6504e997",
 "source_revision": 103,
 "related": [
  {
   "url": "/cards/e-ec1b39ab63e5952b6504e997-bank/",
   "name": "Bankroll card — Freddie Cotton",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ec1b39ab63e5952b6504e997-month-following/",
   "name": "A month following Freddie Cotton",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-ec1b39ab63e5952b6504e997-said-vs-happened/",
   "name": "Said → happened — Freddie Cotton",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/freddie-cotton/",
   "name": "Your titles on Forecast Record: Freddie Cotton",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 3,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 32,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 32,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 3,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 19,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 3,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  },
  {
   "set": "profile.checked",
   "entity": "e-ec1b39ab63e5952b6504e997",
   "value": 19,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
