{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/tom-carnduff/",
 "canonical": "/authors/tom-carnduff/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Tom Carnduff: Football Prediction Record",
 "description": "3 settled picks by Tom Carnduff archived before kick-off across 3 matches, 21 Sep 2024 – 2 Nov 2024: won 1 of 3, reconstructed at archived prices.",
 "first_paragraph": {
  "body": "Forecast Record restored 3 settled archived picks by Tom Carnduff from copies archived before kick-off, across 3 matches between 21 September and 2 November 2024. Reconstructed at archived prices: won 1 of 3 settled archived picks. Of the 68 predictions we hold for Tom Carnduff, 46 were archived before kick-off by an independent web archive and 22 from the source’s own history. 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": "too_few_settled",
 "indexing_threshold": {
  "settled_count": 3,
  "date_count": 11,
  "required_settled": 10,
  "required_dates": 2,
  "live_count": 0,
  "restored_count": 33,
  "of_them_archived": 15
 },
 "data_date": "2026-11-07T19:52:23.438Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "1ef8b32e2d32b16abae18262c7c379ac7fef4bd22efdaeb4c1e50d6059e00983",
 "dependency_group": "author:e-9d2b0773441fc68b5bd94a9a",
 "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/tom-carnduff/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/tom-carnduff/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-9d2b0773441fc68b5bd94a9a",
  "public_name": "Tom Carnduff",
  "tracker_number": 1487,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-28",
   "until": "2026-10-12"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-9d2b0773441fc68b5bd94a9a-roi-market-price-90d-z99",
   "code_name": "roi_market_price",
   "display_name": "Return on stakes at an independent odds snapshot",
   "window_kind": "90d",
   "window_from": "2026-08-09",
   "window_to": "2026-11-07",
   "amount": null,
   "unit": "percent",
   "data_status": "unknown",
   "cause": "no pick in this window has been settled",
   "n_bets": 0,
   "n_events": 0,
   "n_void": null,
   "ci_low": null,
   "ci_high": null,
   "ci_method": "not_estimated",
   "price_source": "market_price",
   "coverage_percent": null,
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T19:52:23.438Z",
   "enough_for_ranking": false,
   "series_key": "market_price",
   "series_label": "At an independent odds snapshot"
  },
  "byline": "Return on stakes at an independent odds snapshot over 90 days: 0 settled picks across 0 matches",
  "average_odds": null,
  "odds_from_author": null,
  "odds_from_snapshot": null
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_key": null,
  "series_label": "No level stake placed",
  "bankroll_hundredths": 1000000,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "top_up_count": 0,
  "profit_hundredths": 0,
  "rewards_off": null,
  "data_points": [],
  "top_ups": [],
  "rule": "Every tracked author starts with 10,000 points and stakes 100 per qualifying pick. This author has 0 settled bets, so the bankroll stands at its starting value."
 },
 "simulations": [],
 "completeness": {
  "detected": 146,
  "recognised": 68,
  "accepted": 37,
  "executed": 37,
  "calculated": 33,
  "gaps": [
   {
    "cause": "read after the match, from archived pages",
    "figure": 23
   },
   {
    "cause": "not_supported",
    "figure": 8
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 146,
  "of_them_restored": 146,
  "not_predictions": {
   "opinions": 42,
   "not_about_a_match": 36,
   "unclassified": 0
  },
  "predictions": 68,
  "predictions_restored": 68,
  "matches": 0,
  "admitted": 37,
  "qualifying_picks": 37,
  "qualifying_picks_restored": 37,
  "settled_picks": 33,
  "settled_picks_restored": 33,
  "series_list": [
   {
    "code_name": "retro_author_price",
    "derived": false,
    "is_restored": true,
    "qualifying_picks": 19,
    "settled_picks": 15,
    "void": 0,
    "pending_picks": 4,
    "matches": 13,
    "operations_settled": 15,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "retro-1.0"
    ],
    "display_name": "Restored, at the author's stated price"
   },
   {
    "code_name": "retro_market_closing_sm",
    "derived": false,
    "is_restored": true,
    "qualifying_picks": 22,
    "settled_picks": 21,
    "void": 0,
    "pending_picks": 1,
    "matches": 20,
    "operations_settled": 21,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "retro-1.1"
    ],
    "display_name": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)"
   }
  ],
  "gaps": [
   {
    "code_name": "after_match",
    "cause": "read after the match, from archived pages",
    "figure": 23
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 8
   }
  ],
  "duplicates": 0,
  "junk": {
   "service": 12
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-a508b34d4329d666b853202b",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-a508b34d4329d666b853202b",
   "quote_text": "Over 9.5 corners",
   "fragment_from": 262,
   "fragment_to": 278,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/set-piece-focus-in-european-rematch/230401",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "aa5904e3d03e75f67d1ab9ecf6149507c24111e7dded1d3092fac13834af46c5",
    "material_removed": false
   },
   "published_at": "2026-02-16T10:21:56.000Z",
   "detected_at": "2026-10-12T20:37:55.943Z",
   "executed_at": "2026-10-13T20:02:40.817Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Benfica v Real Madrid",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-02-17T20:00:00.000Z",
    "url": null,
    "scoreline": "0-1"
   },
   "market_label": "Over/Under 9.5 corners",
   "outcome_label": "over 9.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.8000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-02-16T10:21:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-02-16T10:21:56.000Z",
    "detected_at": "2026-10-12T20:37:55.943Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 9.5 corners",
    "choice": "over 9.5",
    "author_odds": null,
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "9.5",
    "subject": "corners",
    "in_words": "Over/Under 9.5 corners: over 9.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Benfica 0-1 Real Madrid."
   },
   "settlements": [
    {
     "operation_id": "a50ca27481b50bdcf1a8ccf6c6c2082670a1f788cc7bce9c952c164bde76edae",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 9.5 corners",
     "choice": "over 9.5",
     "decimal_odds": "1.8000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-13T20:02:40.817Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/set-piece-focus-in-european-rematch/230401",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c9cce54c70b0e0a730079c32",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-c9cce54c70b0e0a730079c32",
   "quote_text": "Over 12.5 corners",
   "fragment_from": 282,
   "fragment_to": 299,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/psg-vs-liverpool-tips-action-packed/224078",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "97ca432919a00572798b154bb1c9097beacc8b18ce42c1de073c68ffe0f1f4dd",
    "material_removed": false
   },
   "published_at": "2025-03-03T11:32:59.000Z",
   "detected_at": "2026-10-12T20:11:21.055Z",
   "executed_at": "2026-10-13T19:51:03.980Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Paris Saint-Germain v Liverpool",
    "competition_name": "UEFA Champions League",
    "starts_at": "2025-03-05T20:00:00.000Z",
    "url": null,
    "scoreline": "0-1"
   },
   "market_label": "Over/Under 12.5 corners",
   "outcome_label": "over 12.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "3.6000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 26000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-03-03T11:32:59.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-03-03T11:32:59.000Z",
    "detected_at": "2026-10-12T20:11:21.055Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 12.5 corners",
    "choice": "over 12.5",
    "author_odds": null,
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "12.5",
    "subject": "corners",
    "in_words": "Over/Under 12.5 corners: over 12.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Paris Saint-Germain 0-1 Liverpool."
   },
   "settlements": [
    {
     "operation_id": "6658170a75e655bf5da6f087517328857836899df2b6e5c297b0e76bf2576fc7",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 12.5 corners",
     "choice": "over 12.5",
     "decimal_odds": "3.6000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 26000,
     "executed_at": "2026-10-13T19:51:03.980Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/psg-vs-liverpool-tips-action-packed/224078",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-2034128e5b6a5f0408874891",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-2034128e5b6a5f0408874891",
   "quote_text": "Over 10.5 corners",
   "fragment_from": 241,
   "fragment_to": 258,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/psg-vs-liverpool-tips-action-packed/224078",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "97ca432919a00572798b154bb1c9097beacc8b18ce42c1de073c68ffe0f1f4dd",
    "material_removed": false
   },
   "published_at": "2025-03-03T11:32:59.000Z",
   "detected_at": "2026-10-12T20:11:21.055Z",
   "executed_at": "2026-10-13T19:51:03.971Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Paris Saint-Germain v Liverpool",
    "competition_name": "UEFA Champions League",
    "starts_at": "2025-03-05T20:00:00.000Z",
    "url": null,
    "scoreline": "0-1"
   },
   "market_label": "Over/Under 10.5 corners",
   "outcome_label": "over 10.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.1000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 11000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-03-03T11:32:59.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-03-03T11:32:59.000Z",
    "detected_at": "2026-10-12T20:11:21.055Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 10.5 corners",
    "choice": "over 10.5",
    "author_odds": null,
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "10.5",
    "subject": "corners",
    "in_words": "Over/Under 10.5 corners: over 10.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Paris Saint-Germain 0-1 Liverpool."
   },
   "settlements": [
    {
     "operation_id": "802c8daa99ed8bb5a248fd9aa0fb2334073c906a0adb194e47359d2a73990d71",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "decimal_odds": "2.1000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11000,
     "executed_at": "2026-10-13T19:51:03.971Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/psg-vs-liverpool-tips-action-packed/224078",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-69dfaca2da7a0426925b7971",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-69dfaca2da7a0426925b7971",
   "quote_text": "Manchester City to win",
   "fragment_from": 248,
   "fragment_to": 270,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/man-city-vs-villa-tips-home-comforts/225073",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3b0c111303594713e7371d31192ad357e37ec69e215465dac4a2f6a4de8e5cbc",
    "material_removed": false
   },
   "published_at": "2025-04-21T09:17:19.000Z",
   "detected_at": "2026-10-12T20:11:06.167Z",
   "executed_at": "2026-10-13T19:52:12.936Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Manchester City v Aston Villa",
    "competition_name": "Premier League",
    "starts_at": "2025-04-22T19:00:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Manchester City",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.9150",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 9150,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-04-21T09:17:19.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-04-21T09:17:19.000Z",
    "detected_at": "2026-10-12T20:11:06.167Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Manchester City",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Manchester City"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Manchester City 2-1 Aston Villa."
   },
   "settlements": [
    {
     "operation_id": "9bf3079398e14011d977ef0c9bb6859886b619ead693c02c4e6d74ec97430f97",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Manchester City",
     "decimal_odds": "1.9150",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9150,
     "executed_at": "2026-10-13T19:52:12.936Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/man-city-vs-villa-tips-home-comforts/225073",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-6b80056b5c73b7e923f13d89",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-6b80056b5c73b7e923f13d89",
   "quote_text": "Sheffield United to win",
   "fragment_from": 234,
   "fragment_to": 257,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/sheff-utd-vs-bristol-city-tips-cruise-control/225450",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ff1ef43f937cc3f6dc8d0c1bf1bf85df362f00f581fe4d47b8563e58a489cd66",
    "material_removed": false
   },
   "published_at": "2025-05-09T07:57:34.000Z",
   "detected_at": "2026-10-12T20:11:02.699Z",
   "executed_at": "2026-10-13T19:53:03.564Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Sheffield United v Bristol City",
    "competition_name": "EFL Championship",
    "starts_at": "2025-05-12T19:00:00.000Z",
    "url": null,
    "scoreline": "3-0"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Sheffield United",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.8500",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 8500,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-05-09T07:57:34.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-05-09T07:57:34.000Z",
    "detected_at": "2026-10-12T20:11:02.699Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Sheffield United",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Sheffield United"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Sheffield United 3-0 Bristol City."
   },
   "settlements": [
    {
     "operation_id": "67e87380cbde1b63fcf32fd885264ea30a08f831d98c56822c401d34082dde50",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Sheffield United",
     "decimal_odds": "1.8500",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8500,
     "executed_at": "2026-10-13T19:53:03.564Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/sheff-utd-vs-bristol-city-tips-cruise-control/225450",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-bd4b2b0e233c05679499ed31",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-bd4b2b0e233c05679499ed31",
   "quote_text": "Over 10.5 corners",
   "fragment_from": 230,
   "fragment_to": 247,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/rangers-vs-genk-tips-pressure-is-on/227726",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8a9515d42f06b483540708fb7e0de9e1540256fe73cee45d313dcf00cc66c185",
    "material_removed": false
   },
   "published_at": "2025-09-23T09:31:45.000Z",
   "detected_at": "2026-10-12T20:10:51.412Z",
   "executed_at": "2026-10-13T19:55:56.026Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Rangers v KRC Genk",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-09-25T19:00:00.000Z",
    "url": null,
    "scoreline": "0-1"
   },
   "market_label": "Over/Under 10.5 corners",
   "outcome_label": "over 10.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.2350",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-09-23T09:31:45.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-09-23T09:31:45.000Z",
    "detected_at": "2026-10-12T20:10:51.412Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 10.5 corners",
    "choice": "over 10.5",
    "author_odds": null,
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "10.5",
    "subject": "corners",
    "in_words": "Over/Under 10.5 corners: over 10.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Rangers 0-1 KRC Genk."
   },
   "settlements": [
    {
     "operation_id": "33c93695e589046601fcd034aac7f48e56c60c6568c137cb6f179e14906119da",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "decimal_odds": "2.2350",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-13T19:55:56.026Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/rangers-vs-genk-tips-pressure-is-on/227726",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-49bf58083e6a1470a67c19ae",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-49bf58083e6a1470a67c19ae",
   "quote_text": "Everton to win",
   "fragment_from": 249,
   "fragment_to": 263,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/a-sticky-situation-for-sunderland/228425",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d17197831d9b9ff0e56beedef1881d63175f4b11ea48e16f0f7e70e2b93dca0f",
    "material_removed": false
   },
   "published_at": "2025-10-31T08:17:57.000Z",
   "detected_at": "2026-10-12T20:10:48.545Z",
   "executed_at": "2026-10-13T19:58:00.584Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Sunderland v Everton",
    "competition_name": "Premier League",
    "starts_at": "2025-11-03T20:00:00.000Z",
    "url": null,
    "scoreline": "1-1"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Everton",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.4000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-10-31T08:17:57.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-10-31T08:17:57.000Z",
    "detected_at": "2026-10-12T20:10:48.545Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Everton",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Everton"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Sunderland 1-1 Everton."
   },
   "settlements": [
    {
     "operation_id": "db65a568ea79b31046bc22fa3d9008707d49b5e54a81031417852b4616957eb1",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Everton",
     "decimal_odds": "2.4000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-13T19:58:00.584Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/a-sticky-situation-for-sunderland/228425",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-8582cbb0c44e3b21e662096b",
   "url": "/authors/tom-carnduff/picks/5/#pick-n-8582cbb0c44e3b21e662096b",
   "quote_text": "Both Teams To Score",
   "fragment_from": 273,
   "fragment_to": 292,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/lively-leverkusen-to-play-their-part/228874",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "03afdbe7b4b33b90115a41eb1d8efb360b47077f8fd45390e7990ec172c0bb02",
    "material_removed": false
   },
   "published_at": "2025-11-24T09:31:01.000Z",
   "detected_at": "2026-10-12T20:10:45.896Z",
   "executed_at": "2026-10-13T19:58:46.131Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Manchester City v Bayer 04 Leverkusen",
    "competition_name": "UEFA Champions League",
    "starts_at": "2025-11-25T20:00:00.000Z",
    "url": null,
    "scoreline": "0-2"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.7300",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-11-24T09:31:01.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-24T09:31:01.000Z",
    "detected_at": "2026-10-12T20:10:45.896Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": null,
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Manchester City 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "9a49c61dc30b5d89d272754533ca7cbc78d0e88b7cec0359174d0fbad0852fdc",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.7300",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-13T19:58:46.131Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/lively-leverkusen-to-play-their-part/228874",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-74d87512f08f17dd6be6f309",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-74d87512f08f17dd6be6f309",
   "quote_text": "Both Teams To Score",
   "fragment_from": 235,
   "fragment_to": 254,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/nothing-neutral-about-swiss-attack/228913",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1418fce90275d4f1bb7764b872f219b0d4e40917d1ddfe23ebd3cd4cdd52bd71",
    "material_removed": false
   },
   "published_at": "2025-11-26T09:54:56.000Z",
   "detected_at": "2026-10-12T20:10:45.607Z",
   "executed_at": "2026-10-13T19:58:50.973Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Aston Villa v BSC Young Boys",
    "competition_name": "UEFA Europa League",
    "starts_at": "2025-11-27T17:45:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.8700",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 8700,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-11-26T09:54:56.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-26T09:54:56.000Z",
    "detected_at": "2026-10-12T20:10:45.607Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": null,
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Aston Villa 2-1 BSC Young Boys."
   },
   "settlements": [
    {
     "operation_id": "0958b8b170d7cd9679a75d2e1ca4810b36151f1d87ed98a1ff456be8da2f65d6",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.8700",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8700,
     "executed_at": "2026-10-13T19:58:50.973Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/nothing-neutral-about-swiss-attack/228913",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-369847270b2fa74d9add49e3",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-369847270b2fa74d9add49e3",
   "quote_text": "Over 2.5 goals",
   "fragment_from": 258,
   "fragment_to": 272,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/no-monday-blues-at-st-andrew-s/228950",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "cac7d239395032826678b6b813c4875bcf3d7f091ccfae9dd9b618680f5c1fec",
    "material_removed": false
   },
   "published_at": "2025-11-28T10:44:17.000Z",
   "detected_at": "2026-10-12T20:10:45.307Z",
   "executed_at": "2026-10-13T19:59:06.112Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Birmingham City v Watford",
    "competition_name": "EFL Championship",
    "starts_at": "2025-12-01T20:00:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.0100",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 10100,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-11-28T10:44:17.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-11-28T10:44:17.000Z",
    "detected_at": "2026-10-12T20:10:45.307Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": null,
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Birmingham City 2-1 Watford."
   },
   "settlements": [
    {
     "operation_id": "de6375d6fd65f7c915df479fdd3ba3a1a2eeba5e8a883d4f2125a1ef7cdc6c90",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "2.0100",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10100,
     "executed_at": "2026-10-13T19:59:06.112Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/no-monday-blues-at-st-andrew-s/228950",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3e60707a7e7b60b43edf7c44",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-3e60707a7e7b60b43edf7c44",
   "quote_text": "Over 10.5 corners",
   "fragment_from": 241,
   "fragment_to": 258,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/now-s-the-time-to-cross-that-bridge/229490",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ab373351406c310555b09e65b57b82ce8a3119c1a9e44cce6024f118d9abc30d",
    "material_removed": false
   },
   "published_at": "2025-12-29T10:55:15.000Z",
   "detected_at": "2026-10-12T20:10:40.488Z",
   "executed_at": "2026-10-13T20:00:38.389Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Chelsea v AFC Bournemouth",
    "competition_name": "Premier League",
    "starts_at": "2025-12-30T19:30:00.000Z",
    "url": null,
    "scoreline": "2-2"
   },
   "market_label": "Over/Under 10.5 corners",
   "outcome_label": "over 10.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.0800",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 10800,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2025-12-29T10:55:15.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-12-29T10:55:15.000Z",
    "detected_at": "2026-10-12T20:10:40.488Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 10.5 corners",
    "choice": "over 10.5",
    "author_odds": null,
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "10.5",
    "subject": "corners",
    "in_words": "Over/Under 10.5 corners: over 10.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Chelsea 2-2 AFC Bournemouth."
   },
   "settlements": [
    {
     "operation_id": "014f0253716760909e7141e10e4d17bd55f07c42ec3d9e3163d95b1cfb7e85c9",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "decimal_odds": "2.0800",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10800,
     "executed_at": "2026-10-13T20:00:38.389Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/now-s-the-time-to-cross-that-bridge/229490",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-74a9c80b139088a6f04b2166",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-74a9c80b139088a6f04b2166",
   "quote_text": "Aston Villa to win",
   "fragment_from": 377,
   "fragment_to": 395,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/normal-lunchtime-service-resumes/229568",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c2e0c80f59dfbdc232cf565dbf7563544abd57ce5172876e2967508fd378109",
    "material_removed": false
   },
   "published_at": "2026-01-02T09:58:01.000Z",
   "detected_at": "2026-10-12T20:10:38.212Z",
   "executed_at": "2026-10-13T20:00:47.614Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Aston Villa v Nottingham Forest",
    "competition_name": "Premier League",
    "starts_at": "2026-01-03T12:30:00.000Z",
    "url": null,
    "scoreline": "3-1"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Aston Villa",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.9000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 9000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-02T09:58:01.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T09:58:01.000Z",
    "detected_at": "2026-10-12T20:10:38.212Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Aston Villa",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Aston Villa"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Aston Villa 3-1 Nottingham Forest."
   },
   "settlements": [
    {
     "operation_id": "383f748bbfdf45a2e830b4d3d5afc14ef540add0477c1a0faefeaf7f05a52199",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Aston Villa",
     "decimal_odds": "1.9000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9000,
     "executed_at": "2026-10-13T20:00:47.614Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/normal-lunchtime-service-resumes/229568",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-46fe5d7a71c51c0f525a9812",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-46fe5d7a71c51c0f525a9812",
   "quote_text": "Over 4.5 cards",
   "fragment_from": 346,
   "fragment_to": 360,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/activity-on-the-cards-at-the-vitality/229569",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a84350573809fe61d7a09bb055e521aad6417db30408d3dab77ec9b15f77c1c5",
    "material_removed": false
   },
   "published_at": "2026-01-02T10:04:33.000Z",
   "detected_at": "2026-10-12T20:10:38.175Z",
   "executed_at": "2026-10-13T20:00:49.925Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "AFC Bournemouth v Arsenal",
    "competition_name": "Premier League",
    "starts_at": "2026-01-03T17:30:00.000Z",
    "url": null,
    "scoreline": "2-3"
   },
   "market_label": "Over/Under 4.5 cards",
   "outcome_label": "over 4.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.2000",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-02T10:04:33.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-02T10:04:33.000Z",
    "detected_at": "2026-10-12T20:10:38.175Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 4.5 cards",
    "choice": "over 4.5",
    "author_odds": null,
    "market_key": "cards_over_under",
    "choice_key": "over",
    "period": "match",
    "line": "4.5",
    "subject": "bookings",
    "in_words": "Over/Under 4.5 cards: over 4.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was AFC Bournemouth 2-3 Arsenal."
   },
   "settlements": [
    {
     "operation_id": "3ede9ce2c9820b40838879f5e64228f8486cf009bf0e41f50e9cb405b7affd0a",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 4.5 cards",
     "choice": "over 4.5",
     "decimal_odds": "2.2000",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-13T20:00:49.925Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/activity-on-the-cards-at-the-vitality/229569",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-06bc44d9bcbe63755e59c384",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-06bc44d9bcbe63755e59c384",
   "quote_text": "Over 4.5 cards",
   "fragment_from": 360,
   "fragment_to": 374,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/scrappy-contest-on-the-cards/229609",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e95b992f795760d4d7d2cb4a211b51646f8a8386d685aee61b890ef45ceb48e2",
    "material_removed": false
   },
   "published_at": "2026-01-05T09:13:38.000Z",
   "detected_at": "2026-10-12T20:10:38.051Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-05T09:13:38.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-05T09:13:38.000Z",
    "detected_at": "2026-10-12T20:10:38.051Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-b20012c179833b7c68ab52a6",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-b20012c179833b7c68ab52a6",
   "quote_text": "Over 12.5 corners",
   "fragment_from": 242,
   "fragment_to": 259,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/unbeaten-leeds-put-in-the-corner/229615",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6a101ba69637c7ec630fe1176c8faac959253c3e642b59f101aa502c8d851372",
    "material_removed": false
   },
   "published_at": "2026-01-05T11:04:17.000Z",
   "detected_at": "2026-10-12T20:10:37.866Z",
   "executed_at": "2026-10-13T20:00:59.127Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Newcastle United v Leeds United",
    "competition_name": "Premier League",
    "starts_at": "2026-01-07T20:15:00.000Z",
    "url": null,
    "scoreline": "4-3"
   },
   "market_label": "Over/Under 12.5 corners",
   "outcome_label": "over 12.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "3.6800",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-05T11:04:17.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-05T11:04:17.000Z",
    "detected_at": "2026-10-12T20:10:37.866Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 12.5 corners",
    "choice": "over 12.5",
    "author_odds": null,
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "12.5",
    "subject": "corners",
    "in_words": "Over/Under 12.5 corners: over 12.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Newcastle United 4-3 Leeds United."
   },
   "settlements": [
    {
     "operation_id": "812600fe059834fc6bfe4ab1b8097c2bf0b7ea5b0a9371f363c845efef32c310",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 12.5 corners",
     "choice": "over 12.5",
     "decimal_odds": "3.6800",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-13T20:00:59.127Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/unbeaten-leeds-put-in-the-corner/229615",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-36979669afa9afce452a1f68",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-36979669afa9afce452a1f68",
   "quote_text": "Over 4.5 match cards",
   "fragment_from": 251,
   "fragment_to": 271,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/trouble-on-the-cards-in-milan/229872",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5479f6e2dce8d80274bb2bed08a6d0620f8441ec8f7704324ff68ded062f5d0e",
    "material_removed": false
   },
   "published_at": "2026-01-19T08:38:33.000Z",
   "detected_at": "2026-10-12T20:10:34.370Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-19T08:38:33.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-19T08:38:33.000Z",
    "detected_at": "2026-10-12T20:10:34.370Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-0551b4e482311af2618b74d8",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-0551b4e482311af2618b74d8",
   "quote_text": "Over 10.5 corners",
   "fragment_from": 251,
   "fragment_to": 268,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/let-s-take-a-trip-down-memory-lane/229891",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "caa11ecc611c47b083251f005da23327db6b71f8a3d06c190b2aab16ae6b2c15",
    "material_removed": false
   },
   "published_at": "2026-01-20T09:05:33.000Z",
   "detected_at": "2026-10-12T20:10:31.362Z",
   "executed_at": "2026-10-13T20:01:27.225Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Fenerbahçe v Aston Villa",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-01-22T17:45:00.000Z",
    "url": null,
    "scoreline": "0-1"
   },
   "market_label": "Over/Under 10.5 corners",
   "outcome_label": "over 10.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.4250",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-20T09:05:33.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-20T09:05:33.000Z",
    "detected_at": "2026-10-12T20:10:31.362Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 10.5 corners",
    "choice": "over 10.5",
    "author_odds": null,
    "market_key": "corners_total",
    "choice_key": "over",
    "period": "match",
    "line": "10.5",
    "subject": "corners",
    "in_words": "Over/Under 10.5 corners: over 10.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Lost: the final score was Fenerbahçe 0-1 Aston Villa."
   },
   "settlements": [
    {
     "operation_id": "46f8f3cef4ebe5c9dbc0eae031155ea6602dffe21d2ac03bfce424e864b1018a",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 10.5 corners",
     "choice": "over 10.5",
     "decimal_odds": "2.4250",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-13T20:01:27.225Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/let-s-take-a-trip-down-memory-lane/229891",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-2371eb4ff5d963061fc4d7af",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-2371eb4ff5d963061fc4d7af",
   "quote_text": "Over 6.5 cards",
   "fragment_from": 270,
   "fragment_to": 284,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/the-dark-arts-on-display/230066",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "94d663d3acfbce0be40a6173c08c2fbe22306d77588aa81eff494340b58b688a",
    "material_removed": false
   },
   "published_at": "2026-01-29T11:36:33.000Z",
   "detected_at": "2026-10-12T20:10:30.522Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-29T11:36:33.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-29T11:36:33.000Z",
    "detected_at": "2026-10-12T20:10:30.522Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-c463bcceb9e2a02d2b635306",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-c463bcceb9e2a02d2b635306",
   "quote_text": "Over 4.5 cards",
   "fragment_from": 227,
   "fragment_to": 241,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/the-dark-arts-on-display/230066",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "94d663d3acfbce0be40a6173c08c2fbe22306d77588aa81eff494340b58b688a",
    "material_removed": false
   },
   "published_at": "2026-01-29T11:36:33.000Z",
   "detected_at": "2026-10-12T20:10:30.522Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-01-29T11:36:33.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-01-29T11:36:33.000Z",
    "detected_at": "2026-10-12T20:10:30.522Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-a11367c0f3dd9061f2485b11",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-a11367c0f3dd9061f2485b11",
   "quote_text": "Both Teams To Score",
   "fragment_from": 237,
   "fragment_to": 256,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/don-t-get-distracted-here/231338",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "01793601d1020a6a5f1db16d56ccabed9d92dc35ebae9d52b0386791d59883b9",
    "material_removed": false
   },
   "published_at": "2026-04-08T08:52:00.000Z",
   "detected_at": "2026-10-12T20:10:17.147Z",
   "executed_at": "2026-10-13T20:04:54.359Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "FC Porto v Nottingham Forest",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-04-09T19:00:00.000Z",
    "url": null,
    "scoreline": "1-1"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.0250",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 10250,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-04-08T08:52:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-08T08:52:00.000Z",
    "detected_at": "2026-10-12T20:10:17.147Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": null,
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was FC Porto 1-1 Nottingham Forest."
   },
   "settlements": [
    {
     "operation_id": "0188c8edf69bc5e3a9629c44cf75d944c9cfd1b17d9fe631e97db9b210806b17",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "2.0250",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10250,
     "executed_at": "2026-10-13T20:04:54.359Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/don-t-get-distracted-here/231338",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-0fdb6b09441fd357664a7dc5",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-0fdb6b09441fd357664a7dc5",
   "quote_text": "PSG to win",
   "fragment_from": 258,
   "fragment_to": 268,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/psg-to-pile-the-pressure-on/231444",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6d5163206a68ad826463794e211f880c2af48446333ac10aefccf0c41cd139fc",
    "material_removed": false
   },
   "published_at": "2026-04-13T10:27:03.000Z",
   "detected_at": "2026-10-12T20:10:16.965Z",
   "executed_at": "2026-10-13T20:05:11.627Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Liverpool v Paris Saint-Germain",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-04-14T19:00:00.000Z",
    "url": null,
    "scoreline": "0-2"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Paris Saint-Germain",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.5700",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 15700,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-04-13T10:27:03.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-04-13T10:27:03.000Z",
    "detected_at": "2026-10-12T20:10:16.965Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Paris Saint-Germain",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Paris Saint-Germain"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Liverpool 0-2 Paris Saint-Germain."
   },
   "settlements": [
    {
     "operation_id": "fa770b26a23d7afaf9211e8af6568610dc4d1bab01fe3bce9c5ba14a9393577f",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Paris Saint-Germain",
     "decimal_odds": "2.5700",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 15700,
     "executed_at": "2026-10-13T20:05:11.627Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/psg-to-pile-the-pressure-on/231444",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3086cb669af3d4b7df6c7934",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-3086cb669af3d4b7df6c7934",
   "quote_text": "Over 4.5 cards",
   "fragment_from": 263,
   "fragment_to": 277,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/a-feisty-contest-on-the-cards/232020",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6fc5bdb2c69469f294fdcfbd7b18085b9544af4ce01b0c82ba9058b46c4be0cc",
    "material_removed": false
   },
   "published_at": "2026-05-09T23:00:00.000Z",
   "detected_at": "2026-10-12T20:10:14.606Z",
   "executed_at": "2026-10-13T20:06:37.299Z",
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Millwall v Hull City",
    "competition_name": "EFL Championship",
    "starts_at": "2026-05-11T19:00:00.000Z",
    "url": null,
    "scoreline": "0-2"
   },
   "market_label": "Over/Under 4.5 cards",
   "outcome_label": "over 4.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "2.1100",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 11100,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "source_reported_history",
   "provenance_words": "Source-reported history",
   "dates": {
    "fragment_at": "2026-05-09T23:00:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-05-09T23:00:00.000Z",
    "detected_at": "2026-10-12T20:10:14.606Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "source_reported_history",
   "origin_words": "Source-reported history",
   "added_on": "Added to our record on 12 Oct 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 4.5 cards",
    "choice": "over 4.5",
    "author_odds": null,
    "market_key": "cards_over_under",
    "choice_key": "over",
    "period": "match",
    "line": "4.5",
    "subject": "bookings",
    "in_words": "Over/Under 4.5 cards: over 4.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.1",
    "in_words": "Won: the final score was Millwall 0-2 Hull City."
   },
   "settlements": [
    {
     "operation_id": "a7f95a8a9039ba8d1559b5d56fb1e127cb7fcf2f478259a2e5ac818af2d061d9",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 4.5 cards",
     "choice": "over 4.5",
     "decimal_odds": "2.1100",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11100,
     "executed_at": "2026-10-13T20:06:37.299Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "Sporting Life",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The 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.sportinglife.com/football/news/a-feisty-contest-on-the-cards/232020",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-15734d90ad7901c1591de964",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-15734d90ad7901c1591de964",
   "quote_text": "1pt Over 2.5 goals in Middlesbrough vs Sheff Weds, Watford vs Portsmouth, Bolton vs Barnsley & Walsall vs Doncaster at 9.62/1",
   "fragment_from": 436,
   "fragment_to": 561,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:11:22.470Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-2d0ae2fc8bd838a4c9616b97",
   "url": "/evidence/?pick=n-2d0ae2fc8bd838a4c9616b97",
   "quote_text": "Southampton finally made the call to sack the stubborn Russell Martin",
   "fragment_from": 4847,
   "fragment_to": 4916,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:11:22.470Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-46eb82df52f5ebbd4f0eb280",
   "url": "/evidence/?pick=n-46eb82df52f5ebbd4f0eb280",
   "quote_text": "That's the hope, anyway.",
   "fragment_from": 3121,
   "fragment_to": 3145,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:11:22.470Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8b4fb22d92fd3bbd62826ac9",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-8b4fb22d92fd3bbd62826ac9",
   "quote_text": "1pt Ao Tanaka to score anytime in Stoke vs Leeds at 13/2",
   "fragment_from": 816,
   "fragment_to": 872,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": "2024-12-23T08:42:55.000Z",
   "detected_at": "2026-09-30T15:11:22.470Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": "not_supported",
   "event": {
    "event_id": null,
    "display_name": "Stoke City v Leeds United",
    "competition_name": "EFL Championship",
    "starts_at": "2024-12-26T20:00:00.000Z",
    "url": null,
    "scoreline": null
   },
   "market_label": "Player to score",
   "outcome_label": "Ao Tanaka to score",
   "odds_set": {
    "by_author": "7.5",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": "Restored, at the author's stated price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
   "dates": {
    "fragment_at": "2024-12-23T08:42:55.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Player to score",
    "choice": "Ao Tanaka to score",
    "author_odds": "7.5",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Ao Tanaka to score at 7.5"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting a final score for this restored pick",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting a final score for this restored pick."
   },
   "settlements": [
    {
     "operation_id": "f19217612a770c48eacbeb1e1c610d6311877790608381e587fa4d4d8b2a8ead",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Ao Tanaka to score",
     "decimal_odds": "7.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "skipped",
     "status_text": "Not executed: not settled",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-07T18:22:02.990Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "sportinglife.com",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": true,
    "basis": null,
    "status": "matches_source",
    "status_words": "Named in the source as the tipster",
    "status_note": null,
    "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiership for Boxing Day, December 26 Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiershi",
    "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4aad5d8348a0228bcf7de50a",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-4aad5d8348a0228bcf7de50a",
   "quote_text": "1pt Tottenham 7+ corners vs Nottingham Forest at 8/5",
   "fragment_from": 723,
   "fragment_to": 775,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:11:22.470Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-9802fdb0c2ec95ef5698fb6d",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-9802fdb0c2ec95ef5698fb6d",
   "quote_text": "1pt Southampton 14+ fouls committed vs West Ham at 10/3",
   "fragment_from": 656,
   "fragment_to": 711,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:11:22.470Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-0d3155901eda8fd99d5eb143",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-0d3155901eda8fd99d5eb143",
   "quote_text": "1pt Max Kilman to score anytime in Southampton vs West Ham at 16/1",
   "fragment_from": 578,
   "fragment_to": 644,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": "2024-12-23T08:42:55.000Z",
   "detected_at": "2026-09-30T15:11:22.470Z",
   "executed_at": "2026-11-07T18:22:02.981Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Southampton v West Ham United",
    "competition_name": "Premier League",
    "starts_at": "2024-12-26T15:00:00.000Z",
    "url": null,
    "scoreline": "0-1"
   },
   "market_label": "Player to score",
   "outcome_label": "Max Kilman to score",
   "odds_set": {
    "by_author": "17",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the author's stated price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
   "dates": {
    "fragment_at": "2024-12-23T08:42:55.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Player to score",
    "choice": "Max Kilman to score",
    "author_odds": "17",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Max Kilman to score at 17"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Southampton 0-1 West Ham United."
   },
   "settlements": [
    {
     "operation_id": "f4143acb9f6be35db039c0aa0a3e05f4c337602783592d24ec79bec6a4d6630a",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Max Kilman to score",
     "decimal_odds": "17",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:22:02.981Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "sportinglife.com",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": true,
    "basis": null,
    "status": "matches_source",
    "status_words": "Named in the source as the tipster",
    "status_note": null,
    "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiership for Boxing Day, December 26 Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiershi",
    "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-31ecdedef4c04c650a1d8594",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-31ecdedef4c04c650a1d8594",
   "quote_text": "1pt Over 11.5 corners in Hearts vs Hibernian at 6/4",
   "fragment_from": 354,
   "fragment_to": 405,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:11:22.470Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-5af4545219c1db3b76d1bd66",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-5af4545219c1db3b76d1bd66",
   "quote_text": "Over 2.5 goals in Swansea vs West Brom, Stoke vs Plymouth & Notts County vs Swindon (12:30) at 4.82/1",
   "fragment_from": 279,
   "fragment_to": 380,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250103235943id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-for-january-3-5/222862",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "88845048c56cec53c8eadb73c31ceb50ccad80f0ace359ab38d03b5997286189",
    "material_removed": false
   },
   "published_at": "2025-01-02T08:59:48.000Z",
   "detected_at": "2026-09-30T15:08:57.968Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-01-02T08:59:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-02T08:59:48.000Z",
    "detected_at": "2026-09-30T15:08:57.968Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-5d88d7d6f53779ef92912510",
   "url": "/evidence/?pick=n-5d88d7d6f53779ef92912510",
   "quote_text": "It could be a comfortable Liverpool win. If it is, Salah will surely have involvement.",
   "fragment_from": 13907,
   "fragment_to": 13993,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250103235943id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-for-january-3-5/222862",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "88845048c56cec53c8eadb73c31ceb50ccad80f0ace359ab38d03b5997286189",
    "material_removed": false
   },
   "published_at": "2025-01-02T08:59:48.000Z",
   "detected_at": "2026-09-30T15:08:57.968Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-01-02T08:59:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-02T08:59:48.000Z",
    "detected_at": "2026-09-30T15:08:57.968Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f3bb1352cc3e8b5ea41566be",
   "url": "/evidence/?pick=n-f3bb1352cc3e8b5ea41566be",
   "quote_text": "This game, and in particular the selection, was discussed heavily with Jimmy before we published our columns.",
   "fragment_from": 6038,
   "fragment_to": 6147,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250103235943id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-for-january-3-5/222862",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "88845048c56cec53c8eadb73c31ceb50ccad80f0ace359ab38d03b5997286189",
    "material_removed": false
   },
   "published_at": "2025-01-02T08:59:48.000Z",
   "detected_at": "2026-09-30T15:08:57.968Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-01-02T08:59:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-02T08:59:48.000Z",
    "detected_at": "2026-09-30T15:08:57.968Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-0084690002961ef3fe1146ee",
   "url": "/evidence/?pick=n-0084690002961ef3fe1146ee",
   "quote_text": "There's also a chance looking at the weather that this game is called off due to a frozen pitch",
   "fragment_from": 4630,
   "fragment_to": 4725,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250103235943id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-for-january-3-5/222862",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "88845048c56cec53c8eadb73c31ceb50ccad80f0ace359ab38d03b5997286189",
    "material_removed": false
   },
   "published_at": "2025-01-02T08:59:48.000Z",
   "detected_at": "2026-09-30T15:08:57.968Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-01-02T08:59:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-02T08:59:48.000Z",
    "detected_at": "2026-09-30T15:08:57.968Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-85e6fd7479af59cc757b6888",
   "url": "/evidence/?pick=n-85e6fd7479af59cc757b6888",
   "quote_text": "Snow, ice, rain and wind are expected in parts of the country which will inevitably play a part",
   "fragment_from": 1516,
   "fragment_to": 1611,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250103235943id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-for-january-3-5/222862",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "88845048c56cec53c8eadb73c31ceb50ccad80f0ace359ab38d03b5997286189",
    "material_removed": false
   },
   "published_at": "2025-01-02T08:59:48.000Z",
   "detected_at": "2026-09-30T15:08:57.968Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-01-02T08:59:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-02T08:59:48.000Z",
    "detected_at": "2026-09-30T15:08:57.968Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f5b1f6f1c18a411703098170",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-f5b1f6f1c18a411703098170",
   "quote_text": "MOHAMED SALAH should star once again and it was a surprise to see a price as generous as 21/10 on 1+ ASSISTS.",
   "fragment_from": 13122,
   "fragment_to": 13231,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20250103235943id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-for-january-3-5/222862",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "88845048c56cec53c8eadb73c31ceb50ccad80f0ace359ab38d03b5997286189",
    "material_removed": false
   },
   "published_at": "2025-01-02T08:59:48.000Z",
   "detected_at": "2026-09-30T15:08:57.968Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": "2025-01-02T08:59:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-02T08:59:48.000Z",
    "detected_at": "2026-09-30T15:08:57.968Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-13e4acc73c8ddd6a6851e378",
   "url": "/evidence/?pick=n-13e4acc73c8ddd6a6851e378",
   "quote_text": "“If I want to say the things on my mind about the club, I will probably get the biggest fine in the history of the Bundesliga.”",
   "fragment_from": 637,
   "fragment_to": 764,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-bundesliga-for-january-17-19/223113",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5d8da2736d3097a380aa90a91eb17fc5e782b1f7a2a6e7029d14b6eac96e1938",
    "material_removed": false
   },
   "published_at": "2025-01-15T09:19:04.000Z",
   "detected_at": "2026-09-30T15:08:20.633Z",
   "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,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-01-15T09:19:04.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-15T09:19:04.000Z",
    "detected_at": "2026-09-30T15:08:20.633Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5f1245826d7acbb9ee74c9d1",
   "url": "/evidence/?pick=n-5f1245826d7acbb9ee74c9d1",
   "quote_text": "“This is one big shit season”",
   "fragment_from": 606,
   "fragment_to": 635,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-bundesliga-for-january-17-19/223113",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5d8da2736d3097a380aa90a91eb17fc5e782b1f7a2a6e7029d14b6eac96e1938",
    "material_removed": false
   },
   "published_at": "2025-01-15T09:19:04.000Z",
   "detected_at": "2026-09-30T15:08:20.633Z",
   "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,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-01-15T09:19:04.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-15T09:19:04.000Z",
    "detected_at": "2026-09-30T15:08:20.633Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-fb7d2425b5fcae4ef824b07b",
   "url": "/evidence/?pick=n-fb7d2425b5fcae4ef824b07b",
   "quote_text": "Wir schlagen St. Pauli durch den Hoffi-Treffer!💪😍 #BOCFCSP 1:0",
   "fragment_from": 350,
   "fragment_to": 412,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-bundesliga-for-january-17-19/223113",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5d8da2736d3097a380aa90a91eb17fc5e782b1f7a2a6e7029d14b6eac96e1938",
    "material_removed": false
   },
   "published_at": "2025-01-15T09:19:04.000Z",
   "detected_at": "2026-09-30T15:08:20.633Z",
   "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,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-01-15T09:19:04.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-15T09:19:04.000Z",
    "detected_at": "2026-09-30T15:08:20.633Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-1a48b3bbda768b4cda3054d5",
   "url": "/evidence/?pick=n-1a48b3bbda768b4cda3054d5",
   "quote_text": "Club Statement: Pav Singh#CeltArmyhttps://t.co/aqT93svkQ5",
   "fragment_from": 210,
   "fragment_to": 267,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-bundesliga-for-january-17-19/223113",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "5d8da2736d3097a380aa90a91eb17fc5e782b1f7a2a6e7029d14b6eac96e1938",
    "material_removed": false
   },
   "published_at": "2025-01-15T09:19:04.000Z",
   "detected_at": "2026-09-30T15:08:20.633Z",
   "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,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": "2025-01-15T09:19:04.000Z",
    "fragment_basis": "page",
    "source_page_at": "2025-01-15T09:19:04.000Z",
    "detected_at": "2026-09-30T15:08:20.633Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-9b9b2125149426faf53436ec",
   "url": "/evidence/?pick=n-9b9b2125149426faf53436ec",
   "quote_text": "Backed Eoin Toal anytime at 11s in the latest column and I've only just seen this chance ffs.",
   "fragment_from": 207,
   "fragment_to": 300,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-bundesliga-for-august-24-25/219982",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d19277e0b517aa16d95eb24d7a5efd89769ce2055a45f0dba62bf6723dd739a5",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:07:50.793Z",
   "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,
   "provenance": "found_post_match",
   "provenance_words": "Found after the match; date as stated by the source",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-08-21T07:59:39.000Z",
    "detected_at": "2026-09-30T15:07:50.793Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "found_after_match",
   "origin_words": "Found after the match; date as stated by the source",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f35ab0ca4e5d1a41658b79ef",
   "url": "/evidence/?pick=n-f35ab0ca4e5d1a41658b79ef",
   "quote_text": "There is some appeal in the double chance in Millwall's favour as the Clarets have been held to draws in four of their last six.",
   "fragment_from": 8266,
   "fragment_to": 8394,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:07:09.476Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b7bc70985f4fa802ff68791d",
   "url": "/evidence/?pick=n-b7bc70985f4fa802ff68791d",
   "quote_text": "Prices of 4/7 are available on an away victory.",
   "fragment_from": 3633,
   "fragment_to": 3680,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:07:09.476Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-174d5ef807586327012e46e2",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-174d5ef807586327012e46e2",
   "quote_text": "1pt Japhet Tanganga to score anytime in Millwall vs Burnley (15:00) at 22/1 (General)",
   "fragment_from": 1063,
   "fragment_to": 1148,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": "2024-10-30T09:05:48.000Z",
   "detected_at": "2026-09-30T15:07:09.476Z",
   "executed_at": "2026-11-07T18:22:02.971Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Millwall v Burnley",
    "competition_name": "EFL Championship",
    "starts_at": "2024-11-03T15:00:00.000Z",
    "url": null,
    "scoreline": "1-0"
   },
   "market_label": "Player to score",
   "outcome_label": "Japhet Tanganga to score",
   "odds_set": {
    "by_author": "23",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the author's stated price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
   "dates": {
    "fragment_at": "2024-10-30T09:05:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Player to score",
    "choice": "Japhet Tanganga to score",
    "author_odds": "23",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Japhet Tanganga to score at 23"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was Millwall 1-0 Burnley."
   },
   "settlements": [
    {
     "operation_id": "e105249b5d8343313bf0b49fd001e5b8a6d12577c95e928b0fee0a52f51036d2",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Japhet Tanganga to score",
     "decimal_odds": "23",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:22:02.971Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "sportinglife.com",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": true,
    "basis": null,
    "status": "matches_source",
    "status_words": "Named in the source as the tipster",
    "status_note": null,
    "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, 2. Bundesliga, Ligue 1 for November 1-3 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Footba",
    "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-33052bcf71328cd076692598",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-33052bcf71328cd076692598",
   "quote_text": "1pt Moise Bombito to score anytime in Brest vs Nice (18:00) at 18/1 (Betfair, Paddy Power)",
   "fragment_from": 963,
   "fragment_to": 1053,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:07:09.476Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-76574021492e04471e4c79c6",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-76574021492e04471e4c79c6",
   "quote_text": "0.5pt Matheus Nunes to score 2+ goals in Bournemouth vs Manchester City (15:00) at 80/1 (bet365)",
   "fragment_from": 865,
   "fragment_to": 961,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:07:09.476Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-147319df1f59d2465bda0451",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-147319df1f59d2465bda0451",
   "quote_text": "1pt Matheus Nunes 1+ assists in Bournemouth vs Manchester City (15:00) at 9/2 (William Hill)",
   "fragment_from": 771,
   "fragment_to": 863,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:07:09.476Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-964e03511c1b3518de0baa1b",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-964e03511c1b3518de0baa1b",
   "quote_text": "1pt Matheus Nunes to score anytime in Bournemouth vs Manchester City (15:00) at 7/1 (General)",
   "fragment_from": 676,
   "fragment_to": 769,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": "2024-10-30T09:05:48.000Z",
   "detected_at": "2026-09-30T15:07:09.476Z",
   "executed_at": "2026-11-07T18:22:02.963Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "AFC Bournemouth v Manchester City",
    "competition_name": "Premier League",
    "starts_at": "2024-11-02T15:00:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "Player to score",
   "outcome_label": "Matheus Nunes to score",
   "odds_set": {
    "by_author": "8",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the author's stated price",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
   "dates": {
    "fragment_at": "2024-10-30T09:05:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Player to score",
    "choice": "Matheus Nunes to score",
    "author_odds": "8",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Matheus Nunes to score at 8"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Lost: the final score was AFC Bournemouth 2-1 Manchester City."
   },
   "settlements": [
    {
     "operation_id": "a08a710aebe279825bc193b14ca6a0850515a61210fadafd281481cad58e1d34",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Matheus Nunes to score",
     "decimal_odds": "8",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T18:22:02.963Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "sportinglife.com",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": true,
    "basis": null,
    "status": "matches_source",
    "status_words": "Named in the source as the tipster",
    "status_note": null,
    "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, 2. Bundesliga, Ligue 1 for November 1-3 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Footba",
    "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-26dd48b390cc5c60fe7b7e14",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-26dd48b390cc5c60fe7b7e14",
   "quote_text": "2pts Over 2.5 goals in Cardiff vs Norwich (15:00) at 17/20 (William Hill)",
   "fragment_from": 601,
   "fragment_to": 674,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": "2024-10-30T09:05:48.000Z",
   "detected_at": "2026-09-30T15:07:09.476Z",
   "executed_at": "2026-11-07T18:22:02.957Z",
   "statement_class": "priced",
   "status": "too_late",
   "cause": "counted in the restored-history series",
   "cause_code": null,
   "event": {
    "event_id": null,
    "display_name": "Cardiff City v Norwich City",
    "competition_name": "EFL Championship",
    "starts_at": "2024-11-02T15:00:00.000Z",
    "url": null,
    "scoreline": "2-1"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.85",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": "1.7400",
    "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 7400,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
   "dates": {
    "fragment_at": "2024-10-30T09:05:48.000Z",
    "fragment_basis": "page",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": "Added to our record on 30 Sep 2026",
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.85",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 1.85"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "retro-1.0",
    "in_words": "Won: the final score was Cardiff City 2-1 Norwich City."
   },
   "settlements": [
    {
     "operation_id": "782cc63f6b71c73bbbea3c8c804fa9c60f549bc6d727228af3bc32f8d55fcd5b",
     "series_key": "retro_author_price",
     "series_label": "Restored, at the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.85",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8500,
     "executed_at": "2026-11-07T18:22:02.951Z",
     "methodology_version": "retro-1.0",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "26439dd2d52a7994047cc18c104acd1875830923dae8b216a6b75cbac21f250c",
     "series_key": "retro_market_closing_sm",
     "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.7400",
     "odds_role": "closing_odds",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7400,
     "executed_at": "2026-11-07T18:22:02.957Z",
     "methodology_version": "retro-1.1",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Tom Carnduff",
    "publisher": "sportinglife.com",
    "forecaster": "Tom Carnduff",
    "forecaster_named_in_text": true,
    "basis": null,
    "status": "matches_source",
    "status_words": "Named in the source as the tipster",
    "status_note": null,
    "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, 2. Bundesliga, Ligue 1 for November 1-3 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Footba",
    "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-e99889541da8057c019c51b3",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-e99889541da8057c019c51b3",
   "quote_text": "2pts Over 2.5 goals in Ulm vs Schalke (17:30) at 17/20 (bet365)",
   "fragment_from": 526,
   "fragment_to": 589,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:07:09.476Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "too_late",
   "cause": "",
   "cause_code": "too_late",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "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-6867182b3dd3115ac9ffc9f3",
   "url": "/evidence/?pick=n-6867182b3dd3115ac9ffc9f3",
   "quote_text": "but the goalscorer prices (50/1 first and 20/1 anytime) are far more appealing to me.",
   "fragment_from": 9442,
   "fragment_to": 9527,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d3feee8cec186c9733e1c9d9",
   "url": "/evidence/?pick=n-d3feee8cec186c9733e1c9d9",
   "quote_text": "Game state is a massive factor in corner betting though and Forest have the potential for a few as they look to break forward with pace.",
   "fragment_from": 9201,
   "fragment_to": 9337,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c6425805f9f7a496af9e1b82",
   "url": "/evidence/?pick=n-c6425805f9f7a496af9e1b82",
   "quote_text": "Different attacking styles but an interesting thing to keep in mind considering how both the Saints and Brighton like to dominate possession.",
   "fragment_from": 8960,
   "fragment_to": 9101,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-42a2aa4214e24a5232a2b69f",
   "url": "/evidence/?pick=n-42a2aa4214e24a5232a2b69f",
   "quote_text": "Standing at 6ft 5', he's brought some much needed aerial presence to the Forest defence.",
   "fragment_from": 8759,
   "fragment_to": 8847,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-0eaaa040ce9b962ffba15cfd",
   "url": "/evidence/?pick=n-0eaaa040ce9b962ffba15cfd",
   "quote_text": "The centre-back has been really impressive across his first few games at the club.",
   "fragment_from": 8676,
   "fragment_to": 8758,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e707bb1f163f0462ef8098e1",
   "url": "/evidence/?pick=n-e707bb1f163f0462ef8098e1",
   "quote_text": "which makes me want to get involved in NIKOLA MILENKOVIC's goalscorer prices on Sunday.",
   "fragment_from": 8453,
   "fragment_to": 8540,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c6caab336d2f1e00a1574393",
   "url": "/evidence/?pick=n-c6caab336d2f1e00a1574393",
   "quote_text": "After all, no side has taken more shots following a 'fast break' than Forest (9) in the Premier League so far.",
   "fragment_from": 8279,
   "fragment_to": 8389,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a522186cddfa36dbe50b8365",
   "url": "/evidence/?pick=n-a522186cddfa36dbe50b8365",
   "quote_text": "As covered in the latest edition of the Notebook, Forest's defensive showings have been really impressive.",
   "fragment_from": 8052,
   "fragment_to": 8158,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-12b16bd2764c8045dd32dfb1",
   "url": "/evidence/?pick=n-12b16bd2764c8045dd32dfb1",
   "quote_text": "They meet at the Amex in a game which could become a lot closer than the odds suggest.",
   "fragment_from": 7965,
   "fragment_to": 8051,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a763914e78c335aaabd1a038",
   "url": "/evidence/?pick=n-a763914e78c335aaabd1a038",
   "quote_text": "Two sides who have started the season in good form - both Brighton and Nottingham Forest are unbeaten across their first four league games.",
   "fragment_from": 7824,
   "fragment_to": 7963,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2f40aa1d03f0e7cb6ecd7f03",
   "url": "/evidence/?pick=n-2f40aa1d03f0e7cb6ecd7f03",
   "quote_text": "Considering the opponent, Leicester and Ndidi should see chances to strike.",
   "fragment_from": 7622,
   "fragment_to": 7697,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-0493ceb3fae3a43d3a8fc91a",
   "url": "/evidence/?pick=n-0493ceb3fae3a43d3a8fc91a",
   "quote_text": "That's led to an impressive return of three assists across his last two games.",
   "fragment_from": 7000,
   "fragment_to": 7078,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-6f1a4a78c2faf1f190b8cbf2",
   "url": "/evidence/?pick=n-6f1a4a78c2faf1f190b8cbf2",
   "quote_text": "I'm steering well clear of the result in this game because it's too tough to call.",
   "fragment_from": 6558,
   "fragment_to": 6640,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e6c962b5925bf87eb9009a26",
   "url": "/evidence/?pick=n-e6c962b5925bf87eb9009a26",
   "quote_text": "Sean Dyche's visitors have managed to throw away two-goal leads to lose in each of their last two Premier League outings.",
   "fragment_from": 6374,
   "fragment_to": 6495,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-763cd7a722e8759c94d8bccc",
   "url": "/evidence/?pick=n-763cd7a722e8759c94d8bccc",
   "quote_text": "although that should have been more based on the chances seen that day.",
   "fragment_from": 6013,
   "fragment_to": 6084,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-47045c84431450a99b5dd1e4",
   "url": "/evidence/?pick=n-47045c84431450a99b5dd1e4",
   "quote_text": "It's a good match-up.",
   "fragment_from": 5904,
   "fragment_to": 5925,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e6ccfef81c26e7ad31b7a873",
   "url": "/evidence/?pick=n-e6ccfef81c26e7ad31b7a873",
   "quote_text": "Freiburg's attack has been creative and firing too.",
   "fragment_from": 5745,
   "fragment_to": 5796,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-65c874ebfb1161d1dfa6792e",
   "url": "/evidence/?pick=n-65c874ebfb1161d1dfa6792e",
   "quote_text": "This has been a winning selection in four of their six games across all competitions so far - five of those games have ended in wins.",
   "fragment_from": 5610,
   "fragment_to": 5743,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-0524a3a4e9422163d84d9930",
   "url": "/evidence/?pick=n-0524a3a4e9422163d84d9930",
   "quote_text": "Goals have been a feature of Heidenheim's season so far.",
   "fragment_from": 5428,
   "fragment_to": 5484,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-aad6f4f789d8bd1ad801e259",
   "url": "/evidence/?pick=n-aad6f4f789d8bd1ad801e259",
   "quote_text": "Both have started the season in positive fashion but Freiburg's defence has been impressive and somewhat unlucky to have conceded as many as they have.",
   "fragment_from": 5166,
   "fragment_to": 5317,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7d44fd97efa25ef813117d7c",
   "url": "/evidence/?pick=n-7d44fd97efa25ef813117d7c",
   "quote_text": "the 4-1 thrashing of Mansfield a week later suggests that was a one-off outcome.",
   "fragment_from": 4863,
   "fragment_to": 4943,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-cab2ab6b24de40b127624a7b",
   "url": "/evidence/?pick=n-cab2ab6b24de40b127624a7b",
   "quote_text": "In short, they were brilliant, particularly at home.",
   "fragment_from": 4732,
   "fragment_to": 4784,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-1c9ccab668d4290b1520df39",
   "url": "/evidence/?pick=n-1c9ccab668d4290b1520df39",
   "quote_text": "Michael Skubala's side have picked up where they left off from last season.",
   "fragment_from": 4076,
   "fragment_to": 4151,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-cb724f2287a5ca752b9ac1f3",
   "url": "/evidence/?pick=n-cb724f2287a5ca752b9ac1f3",
   "quote_text": "he should see further opportunities to strike on Friday.",
   "fragment_from": 3656,
   "fragment_to": 3712,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e0d4116affc659e598709dcf",
   "url": "/evidence/?pick=n-e0d4116affc659e598709dcf",
   "quote_text": "Given the outcome, there's every chance Jess Thorup sticks with an unchanged set-up.",
   "fragment_from": 3317,
   "fragment_to": 3401,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-9ca4bc21667c72b4c4b23b23",
   "url": "/evidence/?pick=n-9ca4bc21667c72b4c4b23b23",
   "quote_text": "Rather than take the short price on the goals line, I'm intrigued by the 6/1 available on ELVIS REXHBECAJ TO SCORE ANYTIME.",
   "fragment_from": 2812,
   "fragment_to": 2935,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-aee11064320e2c5daa201fc9",
   "url": "/evidence/?pick=n-aee11064320e2c5daa201fc9",
   "quote_text": "I fancied Mainz for a solid season but the lack of available markets stopped them having any involvement in my outright picks.",
   "fragment_from": 2602,
   "fragment_to": 2728,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-31c408ccfdcc3c37ba25d01d",
   "url": "/evidence/?pick=n-31c408ccfdcc3c37ba25d01d",
   "quote_text": "Instead, I've targeted five from across three leagues which present relatively attractive betting angles.",
   "fragment_from": 1983,
   "fragment_to": 2088,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-01ed543ae24ed7a98d7794fd",
   "url": "/evidence/?pick=n-01ed543ae24ed7a98d7794fd",
   "quote_text": "Two over-coached sides who are terrified of losing will likely cancel each other out and nothing will happen.",
   "fragment_from": 1693,
   "fragment_to": 1802,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-70a1ac58b1f55b7cc31f45af",
   "url": "/evidence/?pick=n-70a1ac58b1f55b7cc31f45af",
   "quote_text": "The truth of it though is that it's very likely to be a poor game of football.",
   "fragment_from": 1446,
   "fragment_to": 1524,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
    "display_name": null,
    "speaker": "Tom Carnduff",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-09-30T15:06:40.092Z",
   "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,
   "provenance": "restored_archive",
   "provenance_words": "Archived before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "archive_snapshot_at": null,
    "flags": [
     "long_before_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source page is dated long before we first recorded it: it is a page that is updated over time, so the page date is set aside for this prediction.",
    "rule_version": "1.1"
   },
   "origin": "prematch_web_archive",
   "origin_detail": null,
   "origin_words": "Archived before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_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": 12,
  "ruleset_version": "3"
 },
 "standing": null,
 "retro": {
  "restored_total": 33,
  "of_them_archived_pre_match": 15,
  "found_post_match": 0,
  "of_them_source_reported": 18,
  "live_count": 0,
  "date_count": 27,
  "span_from": "2024-08-17",
  "span_to": "2026-05-11",
  "line_text": "restored history: 33, of which pre-match archive 15",
  "body": "We re-read what this author published before Premier League, Championship, Champions League, Europa League and League One matches between 17 August 2024 and 11 May 2026 and settled it against the final score. Restored picks: 33. Backed by a copy of the page in an independent web archive taken before kick-off: 15. Taken from the source’s own published history, published before kick-off by the source’s own date: 18. Found after the match, with the publication date as stated by the source: 0. The market price at the moment of publication cannot be reconstructed, so restored picks are shown as reconstructed at archived prices (~8–15 h before kick-off), not at the closing price, for the pre-match archive and the later finds separately; the author's quoted price and, where it exists, the aggregator closing price are compared with it on the same picks. Authors can delete losing picks, so restored history may look better than it was.",
  "precision": {
   "n": 33,
   "share": "0.3939"
  },
  "series_list": [
   {
    "code_name": "retro_author_price",
    "display_name": "Restored, at the author's stated price",
    "n": 14,
    "roi": "-52.5000",
    "ci_low": "-100.0000",
    "ci_high": "37.1429",
    "data_status": "calculated",
    "methodology_version": "retro-1.0",
    "cause": null
   },
   {
    "code_name": "retro_market_closing",
    "display_name": "Restored, at the closing market price",
    "n": 0,
    "roi": null,
    "ci_low": null,
    "ci_high": null,
    "data_status": "unknown",
    "methodology_version": "retro-1.0",
    "cause": "no restored pick with this price"
   },
   {
    "code_name": "retro_market_closing_sm",
    "display_name": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "n": 21,
    "roi": "22.7143",
    "ci_low": "-30.5250",
    "ci_high": "71.8810",
    "data_status": "calculated",
    "methodology_version": "retro-1.1",
    "cause": null
   }
  ],
  "clv": {
   "data_status": "unknown",
   "cause": "the market price at the moment of publication is unknown for restored picks; the author's quoted price against the aggregator closing price is compared on the same picks in each part of the record above"
  },
  "methodology_version": "retro-1.0",
  "leagues": [
   "Premier League",
   "Championship",
   "Champions League",
   "Europa League",
   "League One"
  ],
  "source_list": "Results: the official regulation-time score, checked against a second data provider for 1 settled restored pick, and the two agree; 32 come from one provider only. Prices: the aggregator closing price and the second data provider's last pre-match price in archive (~8–15 h before kick-off), as a separate series; each provider is its own series and they are never averaged."
 },
 "late": null,
 "price_vs_market": null,
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "sportinglife.com",
   "url": "https://www.sportinglife.com/football/news/set-piece-focus-in-european-rematch/230401"
  },
  "observed_from": "2026-09-28",
  "observed_to": "2026-10-12",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "retro_market_closing_sm",
  "series": "Archived before kick-off, reconstructed at archived prices (~8–15 h before kick-off)",
  "restored": true,
  "headline_kind": "historical_simulation",
  "headline_part": "archived",
  "settled_picks": 3,
  "matches": 3,
  "void": 0,
  "net_points_hundredths": -12600,
  "staked_hundredths": 30000,
  "return_percent": "-42.00",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2024-09-21",
  "period_to": "2024-11-02",
  "status": "calculated",
  "method_version": "retro-1.1",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record restored 3 settled archived picks by Tom Carnduff from copies archived before kick-off, across 3 matches between 21 September and 2 November 2024. Reconstructed at archived prices: won 1 of 3 settled archived picks. Of the 68 predictions we hold for Tom Carnduff, 46 were archived before kick-off by an independent web archive and 22 from the source’s own history. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled archived picks",
    "value": "3",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "3",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "−126 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Reconstructed at archived prices",
    "value": "−42.0%",
    "anchor": "/methodology/#roi",
    "note": null
   }
  ],
  "limitations": [
   "Reconstructed at archived prices: these picks were restored from copies of the author’s pages that an independent web archive saved before kick-off, at the last pre-match archive prices, bookmaker margin included."
  ],
  "other_series": [],
  "return_over_time": [],
  "return_over_time_parts": {
   "live": null,
   "archived": {
    "part": "archived",
    "label": "Reconstructed at archived prices",
    "series_code": "retro_market_closing_sm",
    "price_rule": "Reconstructed at archived prices",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. These picks were restored from copies an independent web archive saved before kick-off; the line shows how they settled at archived prices.",
    "settled_picks": 3,
    "matches": 3,
    "match_dates": 3,
    "period_from": "2024-09-21",
    "period_to": "2024-11-02",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": -12600,
    "low": {
     "date": "2024-10-26",
     "cumulative_points_hundredths": -20000,
     "after_picks": 2
    },
    "high": {
     "date": "2024-09-21",
     "cumulative_points_hundredths": -10000,
     "after_picks": 1
    },
    "line_drawn": false,
    "steps": [
     {
      "date": "2024-09-21",
      "cumulative_points_hundredths": -10000,
      "n": 1,
      "picks": 1
     },
     {
      "date": "2024-10-26",
      "cumulative_points_hundredths": -20000,
      "n": 2,
      "picks": 1
     },
     {
      "date": "2024-11-02",
      "cumulative_points_hundredths": -12600,
      "n": 3,
      "picks": 1
     }
    ]
   }
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record restored 3 settled archived picks by Tom Carnduff from copies archived before kick-off, across 3 matches between 21 September and 2 November 2024. Reconstructed at archived prices: won 1 of 3 settled archived picks. Of the 68 predictions we hold for Tom Carnduff, 46 were archived before kick-off by an independent web archive and 22 from the source’s own history. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/tom-carnduff/",
   "data_as_of": "2026-11-07",
   "method_version": "retro-1.1"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 68,
   "under_review": 0,
   "no_match_linked": 0,
   "proven_predictions": 46,
   "proven_checked": 15,
   "proven_measured": 3,
   "proven_dates": 11,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "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": "archived",
     "title": "Archived before kick-off",
     "explanation": "Restored from a copy saved by an independent web archive before kick-off.",
     "predictions": 46,
     "checked": 15,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": {
      "settled_picks": 3,
      "void": 0,
      "matches": 3,
      "net_points_hundredths": -12600,
      "staked_hundredths": 30000,
      "return_percent": "-42.00",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2024-09-21",
      "period_to": "2024-11-02",
      "method_version": "retro-1.1"
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "retro_author_price",
       "picks": 3,
       "return_main_percent": "-42.00",
       "return_other_percent": "-38.33",
       "settled_excluding_void": 3,
       "net_main_points_hundredths": -12600,
       "net_other_points_hundredths": -11500,
       "period_from": "2024-09-21",
       "period_to": "2024-11-02"
      }
     ],
     "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": 15,
      "priced": 3
     },
     "accuracy": {
      "picks": 3,
      "won": 1,
      "won_percent": "33.3",
      "implied_percent": "52.9",
      "left_out": 0,
      "by_market": [
       {
        "market": "Both teams to score",
        "won": 0,
        "picks": 1,
        "implied_percent": "51.3"
       },
       {
        "market": "Match result",
        "won": 0,
        "picks": 1,
        "implied_percent": "50.0"
       },
       {
        "market": "Over/under goals",
        "won": 1,
        "picks": 1,
        "implied_percent": "57.5"
       }
      ]
     }
    },
    {
     "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
    },
    {
     "code": "source_reported",
     "title": "Source-reported history",
     "explanation": "The time and the pick are known only from the source’s own history; it is the basis of the record check and never part of the evidenced total.",
     "predictions": 22,
     "checked": 18,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": {
      "settled_picks": 18,
      "void": 0,
      "matches": 17,
      "net_points_hundredths": 60300,
      "staked_hundredths": 180000,
      "return_percent": "33.50",
      "interval_low": "-21.59",
      "interval_high": "84.38",
      "interval_note": null,
      "period_from": "2025-03-05",
      "period_to": "2026-05-11",
      "method_version": "retro-1.1"
     },
     "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": 18,
      "priced": 18
     },
     "accuracy": {
      "picks": 18,
      "won": 11,
      "won_percent": "61.1",
      "implied_percent": "46.4",
      "left_out": 0,
      "by_market": [
       {
        "market": "Corners over/under",
        "won": 3,
        "picks": 7,
        "implied_percent": "41.7"
       },
       {
        "market": "Match result",
        "won": 4,
        "picks": 5,
        "implied_percent": "47.9"
       },
       {
        "market": "Both teams to score",
        "won": 2,
        "picks": 3,
        "implied_percent": "53.6"
       },
       {
        "market": "Cards over/under",
        "won": 1,
        "picks": 2,
        "implied_percent": "46.4"
       },
       {
        "market": "Over/under goals",
        "won": 1,
        "picks": 1,
        "implied_percent": "49.8"
       }
      ]
     }
    }
   ]
  },
  "live_alongside": null,
  "headline_record_ids": [
   "n-26dd48b390cc5c60fe7b7e14",
   "n-501cb6194a63f78c98938a59",
   "n-5b1a367ce39a172338725aba"
  ],
  "interval_low": null,
  "interval_high": null,
  "caption": "Archived before kick-off, reconstructed at archived prices (~8–15 h before kick-off) · 100 points per pick · 21 September – 2 November 2024 · Calculated · picks settled under reconstruction method 1.1",
  "record_from": "2024-08-17",
  "record_to": "2026-05-11"
 },
 "recorded_picks": [
  {
   "record_id": "n-3086cb669af3d4b7df6c7934",
   "url": null,
   "match": "Millwall v Hull City",
   "match_url": null,
   "kickoff": "2026-05-11T19:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -3697.2,
   "market_code": "cards_over_under",
   "author_said": "Over/Under 4.5 cards: over 4.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11100,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.1100",
   "published_at": "2026-05-09T23:00:00.000Z",
   "recorded_at": "2026-10-12T20:10:14.606Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-0fdb6b09441fd357664a7dc5",
   "url": null,
   "match": "Liverpool v Paris Saint-Germain",
   "match_url": null,
   "kickoff": "2026-04-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -4345.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Paris Saint-Germain",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 15700,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.5700",
   "published_at": "2026-04-13T10:27:03.000Z",
   "recorded_at": "2026-10-12T20:10:16.965Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-a11367c0f3dd9061f2485b11",
   "url": null,
   "match": "FC Porto v Nottingham Forest",
   "match_url": null,
   "kickoff": "2026-04-09T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -4465.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10250,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.0250",
   "published_at": "2026-04-08T08:52:00.000Z",
   "recorded_at": "2026-10-12T20:10:17.147Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-a508b34d4329d666b853202b",
   "url": null,
   "match": "Benfica v Real Madrid",
   "match_url": null,
   "kickoff": "2026-02-17T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -5688.6,
   "market_code": "corners_total",
   "author_said": "Over/Under 9.5 corners: over 9.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.8000",
   "published_at": "2026-02-16T10:21:56.000Z",
   "recorded_at": "2026-10-12T20:37:55.943Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-0551b4e482311af2618b74d8",
   "url": null,
   "match": "Fenerbahçe v Aston Villa",
   "match_url": null,
   "kickoff": "2026-01-22T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -6314.4,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.4250",
   "published_at": "2026-01-20T09:05:33.000Z",
   "recorded_at": "2026-10-12T20:10:31.362Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-b20012c179833b7c68ab52a6",
   "url": null,
   "match": "Newcastle United v Leeds United",
   "match_url": null,
   "kickoff": "2026-01-07T20:15:00.000Z",
   "competition": "Premier League",
   "lead_hours": -6671.9,
   "market_code": "corners_total",
   "author_said": "Over/Under 12.5 corners: over 12.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "3.6800",
   "published_at": "2026-01-05T11:04:17.000Z",
   "recorded_at": "2026-10-12T20:10:37.866Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-46fe5d7a71c51c0f525a9812",
   "url": null,
   "match": "AFC Bournemouth v Arsenal",
   "match_url": null,
   "kickoff": "2026-01-03T17:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": -6770.7,
   "market_code": "cards_over_under",
   "author_said": "Over/Under 4.5 cards: over 4.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.2000",
   "published_at": "2026-01-02T10:04:33.000Z",
   "recorded_at": "2026-10-12T20:10:38.175Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-74a9c80b139088a6f04b2166",
   "url": null,
   "match": "Aston Villa v Nottingham Forest",
   "match_url": null,
   "kickoff": "2026-01-03T12:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": -6775.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: Aston Villa",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.9000",
   "published_at": "2026-01-02T09:58:01.000Z",
   "recorded_at": "2026-10-12T20:10:38.212Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-3e60707a7e7b60b43edf7c44",
   "url": null,
   "match": "Chelsea v AFC Bournemouth",
   "match_url": null,
   "kickoff": "2025-12-30T19:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": -6864.7,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10800,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.0800",
   "published_at": "2025-12-29T10:55:15.000Z",
   "recorded_at": "2026-10-12T20:10:40.488Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-369847270b2fa74d9add49e3",
   "url": null,
   "match": "Birmingham City v Watford",
   "match_url": null,
   "kickoff": "2025-12-01T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -7560.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10100,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.0100",
   "published_at": "2025-11-28T10:44:17.000Z",
   "recorded_at": "2026-10-12T20:10:45.307Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-74d87512f08f17dd6be6f309",
   "url": null,
   "match": "Aston Villa v BSC Young Boys",
   "match_url": null,
   "kickoff": "2025-11-27T17:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -7658.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8700,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.8700",
   "published_at": "2025-11-26T09:54:56.000Z",
   "recorded_at": "2026-10-12T20:10:45.607Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-8582cbb0c44e3b21e662096b",
   "url": null,
   "match": "Manchester City v Bayer 04 Leverkusen",
   "match_url": null,
   "kickoff": "2025-11-25T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -7704.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.7300",
   "published_at": "2025-11-24T09:31:01.000Z",
   "recorded_at": "2026-10-12T20:10:45.896Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-49bf58083e6a1470a67c19ae",
   "url": null,
   "match": "Sunderland v Everton",
   "match_url": null,
   "kickoff": "2025-11-03T20:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -8232.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Everton",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.4000",
   "published_at": "2025-10-31T08:17:57.000Z",
   "recorded_at": "2026-10-12T20:10:48.545Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-bd4b2b0e233c05679499ed31",
   "url": null,
   "match": "Rangers v KRC Genk",
   "match_url": null,
   "kickoff": "2025-09-25T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": -9169.2,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.2350",
   "published_at": "2025-09-23T09:31:45.000Z",
   "recorded_at": "2026-10-12T20:10:51.412Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-6b80056b5c73b7e923f13d89",
   "url": null,
   "match": "Sheffield United v Bristol City",
   "match_url": null,
   "kickoff": "2025-05-12T19:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -12433.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Sheffield United",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8500,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.8500",
   "published_at": "2025-05-09T07:57:34.000Z",
   "recorded_at": "2026-10-12T20:11:02.699Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-69dfaca2da7a0426925b7971",
   "url": null,
   "match": "Manchester City v Aston Villa",
   "match_url": null,
   "kickoff": "2025-04-22T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -12913.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Manchester City",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9150,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "1.9150",
   "published_at": "2025-04-21T09:17:19.000Z",
   "recorded_at": "2026-10-12T20:11:06.167Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-5de5cbac14053de11f4f1ce2",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-5de5cbac14053de11f4f1ce2",
   "match": "Southampton v Aston Villa",
   "match_url": null,
   "kickoff": "2025-04-12T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -12819.2,
   "market_code": "corners_total",
   "author_said": "Over/Under 5.5 corners: over 5.5 at 4.8",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 38000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "4.8",
   "settled_price": "4.8",
   "published_at": "2025-04-10T08:26:10.000Z",
   "recorded_at": "2026-09-28T17:11:51.695Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-5de5cbac14053de11f4f1ce2",
    "quote_text": "1pt Southampton Over 5.5 corners vs Aston Villa (15:00) at 19/5 (Betfair, Paddy Power)",
    "fragment_from": 402,
    "fragment_to": 488,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250410170127id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-primeira-liga-for-april-11-13/224843",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "665e3b863372a81be5d33c16cd32512feec85264563b6802e03d75151e1f80c5",
     "material_removed": false
    },
    "published_at": "2025-04-10T08:26:10.000Z",
    "detected_at": "2026-09-28T17:11:51.695Z",
    "executed_at": "2026-11-07T18:21:00.558Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Southampton v Aston Villa",
     "competition_name": "Premier League",
     "starts_at": "2025-04-12T14:00:00.000Z",
     "url": null,
     "scoreline": "0-3"
    },
    "market_label": "Over/Under 5.5 corners",
    "outcome_label": "over 5.5",
    "odds_set": {
     "by_author": "4.8",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 38000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2025-04-10T17:01:27.000Z",
    "dates": {
     "fragment_at": "2025-04-10T08:26:10.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-04-10T08:26:10.000Z",
     "detected_at": "2026-09-28T17:11:51.695Z",
     "archive_snapshot_at": "2025-04-10T17:01:27.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 28 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 5.5 corners",
     "choice": "over 5.5",
     "author_odds": "4.8",
     "market_key": "corners_total",
     "choice_key": "over",
     "period": "match",
     "line": "5.5",
     "subject": "corners",
     "in_words": "Over/Under 5.5 corners: over 5.5 at 4.8"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Southampton 0-3 Aston Villa."
    },
    "settlements": [
     {
      "operation_id": "0741b7315d6363692de1a7b0f7abd87ebb4cb4928de6f33261f04425f0508f2f",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 5.5 corners",
      "choice": "over 5.5",
      "decimal_odds": "4.8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 38000,
      "executed_at": "2026-11-07T18:21:00.558Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, Bundesliga, Primeira Liga for April 11-13 Tom Carnduff's tips: Best bets in Premier League, Bundesliga, Primeira Liga for April",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-primeira-liga-for-april-11-13/224843",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 5.5 (Over/Under 5.5 corners)"
   }
  },
  {
   "record_id": "n-c9cce54c70b0e0a730079c32",
   "url": null,
   "match": "Paris Saint-Germain v Liverpool",
   "match_url": null,
   "kickoff": "2025-03-05T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -14064.2,
   "market_code": "corners_total",
   "author_said": "Over/Under 12.5 corners: over 12.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 26000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "3.6000",
   "published_at": "2025-03-03T11:32:59.000Z",
   "recorded_at": "2026-10-12T20:11:21.055Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-2034128e5b6a5f0408874891",
   "url": null,
   "match": "Paris Saint-Germain v Liverpool",
   "match_url": null,
   "kickoff": "2025-03-05T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": -14064.2,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": null,
   "settled_price": "2.1000",
   "published_at": "2025-03-03T11:32:59.000Z",
   "recorded_at": "2026-10-12T20:11:21.055Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-0d3155901eda8fd99d5eb143",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-0d3155901eda8fd99d5eb143",
   "match": "Southampton v West Ham United",
   "match_url": null,
   "kickoff": "2024-12-26T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -15432.2,
   "market_code": "player_to_score",
   "author_said": "Player to score: Max Kilman to score at 17",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "17",
   "settled_price": "17",
   "published_at": "2024-12-23T08:42:55.000Z",
   "recorded_at": "2026-09-30T15:11:22.470Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-0d3155901eda8fd99d5eb143",
    "quote_text": "1pt Max Kilman to score anytime in Southampton vs West Ham at 16/1",
    "fragment_from": 578,
    "fragment_to": 644,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
     "material_removed": false
    },
    "published_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "executed_at": "2026-11-07T18:22:02.981Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Southampton v West Ham United",
     "competition_name": "Premier League",
     "starts_at": "2024-12-26T15:00:00.000Z",
     "url": null,
     "scoreline": "0-1"
    },
    "market_label": "Player to score",
    "outcome_label": "Max Kilman to score",
    "odds_set": {
     "by_author": "17",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
    "dates": {
     "fragment_at": "2024-12-23T08:42:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-12-23T08:42:55.000Z",
     "detected_at": "2026-09-30T15:11:22.470Z",
     "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Max Kilman to score",
     "author_odds": "17",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Max Kilman to score at 17"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Southampton 0-1 West Ham United."
    },
    "settlements": [
     {
      "operation_id": "f4143acb9f6be35db039c0aa0a3e05f4c337602783592d24ec79bec6a4d6630a",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Max Kilman to score",
      "decimal_odds": "17",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.981Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiership for Boxing Day, December 26 Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiershi",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Max Kilman to score"
   }
  },
  {
   "record_id": "n-27177f1620281da1af93bb37",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-27177f1620281da1af93bb37",
   "match": "Wolverhampton Wanderers v Southampton",
   "match_url": null,
   "kickoff": "2024-11-09T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -16560.1,
   "market_code": "player_to_score",
   "author_said": "Player to score: CRAIG DAWSON to score at 11",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "11",
   "settled_price": "11",
   "published_at": "2024-11-05T10:58:52.000Z",
   "recorded_at": "2026-09-30T15:05:24.280Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": "price disputed: the quote does not give the author's price 11.00; returns at the author's price leave it out",
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-27177f1620281da1af93bb37",
    "quote_text": "It can be a good route to goal for Wolves though and I'm happy to side with CRAIG DAWSON TO SCORE ANYTIME at a big price.\n\nCLICK HERE to back Craig Dawson to score anytime with Sky Bet",
    "fragment_from": 7583,
    "fragment_to": 7767,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241106162518id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-and-primeira-liga-for-november-8-10/221603",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "47dacb1312fa895213877e4d934eb8ebe46ff22b51cc442cac5276911daba44b",
     "material_removed": false
    },
    "published_at": "2024-11-05T10:58:52.000Z",
    "detected_at": "2026-09-30T15:05:24.280Z",
    "executed_at": "2026-11-07T18:22:02.907Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Wolverhampton Wanderers v Southampton",
     "competition_name": "Premier League",
     "starts_at": "2024-11-09T15:00:00.000Z",
     "url": null,
     "scoreline": "2-0"
    },
    "market_label": "Player to score",
    "outcome_label": "CRAIG DAWSON to score",
    "odds_set": {
     "by_author": "11",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-11-06T16:25:18.000Z",
    "dates": {
     "fragment_at": "2024-11-05T10:58:52.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-11-05T10:58:52.000Z",
     "detected_at": "2026-09-30T15:05:24.280Z",
     "archive_snapshot_at": "2024-11-06T16:25:18.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "CRAIG DAWSON to score",
     "author_odds": "11",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: CRAIG DAWSON to score at 11"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Wolverhampton Wanderers 2-0 Southampton."
    },
    "settlements": [
     {
      "operation_id": "e0578127678b1fc70c882c01f2a26a6a830aca49541e92b8ed05e4f3baaae9da",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "CRAIG DAWSON to score",
      "decimal_odds": "11",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.907Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, Bundesliga, EFL & Primeira Liga for November 8-10 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy F",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-and-primeira-liga-for-november-8-10/221603",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "CRAIG DAWSON to score"
   }
  },
  {
   "record_id": "n-174d5ef807586327012e46e2",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-174d5ef807586327012e46e2",
   "match": "Millwall v Burnley",
   "match_url": null,
   "kickoff": "2024-11-03T15:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -16704.1,
   "market_code": "player_to_score",
   "author_said": "Player to score: Japhet Tanganga to score at 23",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "23",
   "settled_price": "23",
   "published_at": "2024-10-30T09:05:48.000Z",
   "recorded_at": "2026-09-30T15:07:09.476Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-174d5ef807586327012e46e2",
    "quote_text": "1pt Japhet Tanganga to score anytime in Millwall vs Burnley (15:00) at 22/1 (General)",
    "fragment_from": 1063,
    "fragment_to": 1148,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
     "material_removed": false
    },
    "published_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "executed_at": "2026-11-07T18:22:02.971Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Millwall v Burnley",
     "competition_name": "EFL Championship",
     "starts_at": "2024-11-03T15:00:00.000Z",
     "url": null,
     "scoreline": "1-0"
    },
    "market_label": "Player to score",
    "outcome_label": "Japhet Tanganga to score",
    "odds_set": {
     "by_author": "23",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
    "dates": {
     "fragment_at": "2024-10-30T09:05:48.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-10-30T09:05:48.000Z",
     "detected_at": "2026-09-30T15:07:09.476Z",
     "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Japhet Tanganga to score",
     "author_odds": "23",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Japhet Tanganga to score at 23"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Millwall 1-0 Burnley."
    },
    "settlements": [
     {
      "operation_id": "e105249b5d8343313bf0b49fd001e5b8a6d12577c95e928b0fee0a52f51036d2",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Japhet Tanganga to score",
      "decimal_odds": "23",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.971Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, 2. Bundesliga, Ligue 1 for November 1-3 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Footba",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Japhet Tanganga to score"
   }
  },
  {
   "record_id": "n-964e03511c1b3518de0baa1b",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-964e03511c1b3518de0baa1b",
   "match": "AFC Bournemouth v Manchester City",
   "match_url": null,
   "kickoff": "2024-11-02T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -16728.1,
   "market_code": "player_to_score",
   "author_said": "Player to score: Matheus Nunes to score at 8",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "8",
   "settled_price": "8",
   "published_at": "2024-10-30T09:05:48.000Z",
   "recorded_at": "2026-09-30T15:07:09.476Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-964e03511c1b3518de0baa1b",
    "quote_text": "1pt Matheus Nunes to score anytime in Bournemouth vs Manchester City (15:00) at 7/1 (General)",
    "fragment_from": 676,
    "fragment_to": 769,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
     "material_removed": false
    },
    "published_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "executed_at": "2026-11-07T18:22:02.963Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "AFC Bournemouth v Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2024-11-02T15:00:00.000Z",
     "url": null,
     "scoreline": "2-1"
    },
    "market_label": "Player to score",
    "outcome_label": "Matheus Nunes to score",
    "odds_set": {
     "by_author": "8",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
    "dates": {
     "fragment_at": "2024-10-30T09:05:48.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-10-30T09:05:48.000Z",
     "detected_at": "2026-09-30T15:07:09.476Z",
     "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Matheus Nunes to score",
     "author_odds": "8",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Matheus Nunes to score at 8"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was AFC Bournemouth 2-1 Manchester City."
    },
    "settlements": [
     {
      "operation_id": "a08a710aebe279825bc193b14ca6a0850515a61210fadafd281481cad58e1d34",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Matheus Nunes to score",
      "decimal_odds": "8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.963Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, 2. Bundesliga, Ligue 1 for November 1-3 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Footba",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Matheus Nunes to score"
   }
  },
  {
   "record_id": "n-26dd48b390cc5c60fe7b7e14",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-26dd48b390cc5c60fe7b7e14",
   "match": "Cardiff City v Norwich City",
   "match_url": null,
   "kickoff": "2024-11-02T15:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -16728.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.85",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7400,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "1.85",
   "settled_price": "1.7400",
   "published_at": "2024-10-30T09:05:48.000Z",
   "recorded_at": "2026-09-30T15:07:09.476Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-26dd48b390cc5c60fe7b7e14",
    "quote_text": "2pts Over 2.5 goals in Cardiff vs Norwich (15:00) at 17/20 (William Hill)",
    "fragment_from": 601,
    "fragment_to": 674,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241031185139id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d85a17af238f1ed539803a0b8229a85e65d8d2f9cafcc99419e2aa7ac1f5030c",
     "material_removed": false
    },
    "published_at": "2024-10-30T09:05:48.000Z",
    "detected_at": "2026-09-30T15:07:09.476Z",
    "executed_at": "2026-11-07T18:22:02.957Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Cardiff City v Norwich City",
     "competition_name": "EFL Championship",
     "starts_at": "2024-11-02T15:00:00.000Z",
     "url": null,
     "scoreline": "2-1"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.85",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.7400",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7400,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
    "dates": {
     "fragment_at": "2024-10-30T09:05:48.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-10-30T09:05:48.000Z",
     "detected_at": "2026-09-30T15:07:09.476Z",
     "archive_snapshot_at": "2024-10-31T18:51:39.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.85",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.85"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Won: the final score was Cardiff City 2-1 Norwich City."
    },
    "settlements": [
     {
      "operation_id": "782cc63f6b71c73bbbea3c8c804fa9c60f549bc6d727228af3bc32f8d55fcd5b",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.85",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8500,
      "executed_at": "2026-11-07T18:22:02.951Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "26439dd2d52a7994047cc18c104acd1875830923dae8b216a6b75cbac21f250c",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.7400",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7400,
      "executed_at": "2026-11-07T18:22:02.957Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, 2. Bundesliga, Ligue 1 for November 1-3 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Footba",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-2-bundesliga-ligue-1-for-november-1-3/221472",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-501cb6194a63f78c98938a59",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-501cb6194a63f78c98938a59",
   "match": "West Bromwich Albion v Cardiff City",
   "match_url": null,
   "kickoff": "2024-10-26T14:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -16897.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "2",
   "settled_price": "1.9500",
   "published_at": "2024-10-23T08:20:43.000Z",
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-501cb6194a63f78c98938a59",
    "quote_text": "Both teams to score in West Brom vs Cardiff (15:00) at Evens",
    "fragment_from": 763,
    "fragment_to": 823,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241024155125id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-for-premier-league-laliga-bundesliga-efl-ligue-1/221313",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e36523baa81b938eb7525d07185de0431cbcc0c1b73658c59eb87e3fb30947e2",
     "material_removed": false
    },
    "published_at": "2024-10-23T08:20:43.000Z",
    "detected_at": "2026-09-30T15:00:49.160Z",
    "executed_at": "2026-11-07T18:22:01.466Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "West Bromwich Albion v Cardiff City",
     "competition_name": "EFL Championship",
     "starts_at": "2024-10-26T14:00:00.000Z",
     "url": null,
     "scoreline": "0-0"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "1.9500",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-10-24T15:51:25.000Z",
    "dates": {
     "fragment_at": "2024-10-23T08:20:43.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-10-23T08:20:43.000Z",
     "detected_at": "2026-09-30T15:00:49.160Z",
     "archive_snapshot_at": "2024-10-24T15:51:25.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "2",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was West Bromwich Albion 0-0 Cardiff City."
    },
    "settlements": [
     {
      "operation_id": "3359d0159767f3e212f91d389acf617a95dd4ee0bbb4f79e4411d61aee412ae7",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:01.460Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1fb3db6dbee5c31a5948565f672f0bbaad98339c841e83674198ada8d70c1717",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.9500",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:01.466Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets for Premier League, LaLiga, Bundesliga, EFL, Ligue 1 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidipri",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-for-premier-league-laliga-bundesliga-efl-ligue-1/221313",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-f54c1668d7ba0afb03e341fe",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-f54c1668d7ba0afb03e341fe",
   "match": "Leicester City v Nottingham Forest",
   "match_url": null,
   "kickoff": "2024-10-25T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -16916.0,
   "market_code": "player_to_score",
   "author_said": "Player to score: Murillo to score at 26",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "26",
   "settled_price": "26",
   "published_at": "2024-10-23T08:20:43.000Z",
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-f54c1668d7ba0afb03e341fe",
    "quote_text": "Murillo to score anytime in Leicester vs Nottingham Forest (20:00) at 25/1",
    "fragment_from": 594,
    "fragment_to": 668,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241024155125id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-for-premier-league-laliga-bundesliga-efl-ligue-1/221313",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e36523baa81b938eb7525d07185de0431cbcc0c1b73658c59eb87e3fb30947e2",
     "material_removed": false
    },
    "published_at": "2024-10-23T08:20:43.000Z",
    "detected_at": "2026-09-30T15:00:49.160Z",
    "executed_at": "2026-11-07T18:22:01.453Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Leicester City v Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2024-10-25T19:00:00.000Z",
     "url": null,
     "scoreline": "1-3"
    },
    "market_label": "Player to score",
    "outcome_label": "Murillo to score",
    "odds_set": {
     "by_author": "26",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-10-24T15:51:25.000Z",
    "dates": {
     "fragment_at": "2024-10-23T08:20:43.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-10-23T08:20:43.000Z",
     "detected_at": "2026-09-30T15:00:49.160Z",
     "archive_snapshot_at": "2024-10-24T15:51:25.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Murillo to score",
     "author_odds": "26",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Murillo to score at 26"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Leicester City 1-3 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "dcd61da8fb78058519f9e175d5518821a5ed4fc6412c38d0e0f089fd438be87c",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Murillo to score",
      "decimal_odds": "26",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:01.453Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets for Premier League, LaLiga, Bundesliga, EFL, Ligue 1 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidipri",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-for-premier-league-laliga-bundesliga-efl-ligue-1/221313",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Murillo to score"
   }
  },
  {
   "record_id": "n-2dc12c6d6e3328658166f546",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-2dc12c6d6e3328658166f546",
   "match": "Leicester City v Nottingham Forest",
   "match_url": null,
   "kickoff": "2024-10-25T19:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -16916.0,
   "market_code": "player_to_score",
   "author_said": "Player to score: Nikola Milenkovic to score at 17",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "17",
   "settled_price": "17",
   "published_at": "2024-10-23T08:20:43.000Z",
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-2dc12c6d6e3328658166f546",
    "quote_text": "Nikola Milenkovic to score anytime in Leicester vs Nottingham Forest (20:00) at 16/1",
    "fragment_from": 491,
    "fragment_to": 575,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241024155125id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-for-premier-league-laliga-bundesliga-efl-ligue-1/221313",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e36523baa81b938eb7525d07185de0431cbcc0c1b73658c59eb87e3fb30947e2",
     "material_removed": false
    },
    "published_at": "2024-10-23T08:20:43.000Z",
    "detected_at": "2026-09-30T15:00:49.160Z",
    "executed_at": "2026-11-07T18:22:01.445Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Leicester City v Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2024-10-25T19:00:00.000Z",
     "url": null,
     "scoreline": "1-3"
    },
    "market_label": "Player to score",
    "outcome_label": "Nikola Milenkovic to score",
    "odds_set": {
     "by_author": "17",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-10-24T15:51:25.000Z",
    "dates": {
     "fragment_at": "2024-10-23T08:20:43.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-10-23T08:20:43.000Z",
     "detected_at": "2026-09-30T15:00:49.160Z",
     "archive_snapshot_at": "2024-10-24T15:51:25.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Nikola Milenkovic to score",
     "author_odds": "17",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Nikola Milenkovic to score at 17"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Leicester City 1-3 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "f36a482639342b247d266c0bf967512ee54bc4916d0308cfd83888ca856b26e1",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Nikola Milenkovic to score",
      "decimal_odds": "17",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:01.445Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets for Premier League, LaLiga, Bundesliga, EFL, Ligue 1 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidipri",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-for-premier-league-laliga-bundesliga-efl-ligue-1/221313",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nikola Milenkovic to score"
   }
  },
  {
   "record_id": "n-7d52670e5485bf1132c640d4",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-7d52670e5485bf1132c640d4",
   "match": "Brighton & Hove Albion v Nottingham Forest",
   "match_url": null,
   "kickoff": "2024-09-22T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -17714.1,
   "market_code": "player_to_score",
   "author_said": "Player to score: Nikola Milenkovic to score at 21",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "21",
   "settled_price": "21",
   "published_at": "2024-09-17T09:06:11.000Z",
   "recorded_at": "2026-09-30T15:06:40.092Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-7d52670e5485bf1132c640d4",
    "quote_text": "0.75pt Nikola Milenkovic to score anytime in Brighton vs Nottingham Forest (14:00) at 20/1 (bet365)",
    "fragment_from": 905,
    "fragment_to": 1004,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
     "material_removed": false
    },
    "published_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "executed_at": "2026-11-07T18:22:02.943Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Brighton & Hove Albion v Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2024-09-22T13:00:00.000Z",
     "url": null,
     "scoreline": "2-2"
    },
    "market_label": "Player to score",
    "outcome_label": "Nikola Milenkovic to score",
    "odds_set": {
     "by_author": "21",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
    "dates": {
     "fragment_at": "2024-09-17T09:06:11.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-09-17T09:06:11.000Z",
     "detected_at": "2026-09-30T15:06:40.092Z",
     "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Nikola Milenkovic to score",
     "author_odds": "21",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Nikola Milenkovic to score at 21"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Brighton & Hove Albion 2-2 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "45f33bf15c957939548bf06dbdd59a013b93dea111308a59abbde79102bcfbea",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Nikola Milenkovic to score",
      "decimal_odds": "21",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.943Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, Bundesliga, EFL for September 20-22 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidip",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nikola Milenkovic to score"
   }
  },
  {
   "record_id": "n-fad8f7ec252b51cb512251ca",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-fad8f7ec252b51cb512251ca",
   "match": "Brighton & Hove Albion v Nottingham Forest",
   "match_url": null,
   "kickoff": "2024-09-22T13:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -17714.1,
   "market_code": "player_first_goal",
   "author_said": "Player to score first: Nikola Milenkovic to score first at 51",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "51",
   "settled_price": "51",
   "published_at": "2024-09-17T09:06:11.000Z",
   "recorded_at": "2026-09-30T15:06:40.092Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-fad8f7ec252b51cb512251ca",
    "quote_text": "0.75pt Nikola Milenkovic to score first in Brighton vs Nottingham Forest (14:00) at 50/1 (bet365, Sky Bet)",
    "fragment_from": 797,
    "fragment_to": 903,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
     "material_removed": false
    },
    "published_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "executed_at": "2026-11-07T18:22:02.937Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Brighton & Hove Albion v Nottingham Forest",
     "competition_name": "Premier League",
     "starts_at": "2024-09-22T13:00:00.000Z",
     "url": null,
     "scoreline": "2-2"
    },
    "market_label": "Player to score first",
    "outcome_label": "Nikola Milenkovic to score first",
    "odds_set": {
     "by_author": "51",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
    "dates": {
     "fragment_at": "2024-09-17T09:06:11.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-09-17T09:06:11.000Z",
     "detected_at": "2026-09-30T15:06:40.092Z",
     "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score first",
     "choice": "Nikola Milenkovic to score first",
     "author_odds": "51",
     "market_key": "player_first_goal",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": null,
     "in_words": "Player to score first: Nikola Milenkovic to score first at 51"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Brighton & Hove Albion 2-2 Nottingham Forest."
    },
    "settlements": [
     {
      "operation_id": "9415544fee3e1262b4b04c36b9f2df8600d2bb101df5fe1b60df52f24a43fffc",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score first",
      "choice": "Nikola Milenkovic to score first",
      "decimal_odds": "51",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.937Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, Bundesliga, EFL for September 20-22 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidip",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nikola Milenkovic to score first"
   }
  },
  {
   "record_id": "n-10d2743935431e38e3c21b41",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-10d2743935431e38e3c21b41",
   "match": "Leicester City v Everton",
   "match_url": null,
   "kickoff": "2024-09-21T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -17737.1,
   "market_code": "player_to_score",
   "author_said": "Player to score: Wilfred Ndidi to score at 9",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "9",
   "settled_price": "9",
   "published_at": "2024-09-17T09:06:11.000Z",
   "recorded_at": "2026-09-30T15:06:40.092Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-10d2743935431e38e3c21b41",
    "quote_text": "1pt Wilfred Ndidi to score anytime in Leicester vs Everton (15:00) at 8/1 (bet365)",
    "fragment_from": 705,
    "fragment_to": 787,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
     "material_removed": false
    },
    "published_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "executed_at": "2026-11-07T18:22:02.930Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Leicester City v Everton",
     "competition_name": "Premier League",
     "starts_at": "2024-09-21T14:00:00.000Z",
     "url": null,
     "scoreline": "1-1"
    },
    "market_label": "Player to score",
    "outcome_label": "Wilfred Ndidi to score",
    "odds_set": {
     "by_author": "9",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
    "dates": {
     "fragment_at": "2024-09-17T09:06:11.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-09-17T09:06:11.000Z",
     "detected_at": "2026-09-30T15:06:40.092Z",
     "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Wilfred Ndidi to score",
     "author_odds": "9",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Wilfred Ndidi to score at 9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Leicester City 1-1 Everton."
    },
    "settlements": [
     {
      "operation_id": "a7e25488ab4abdf9b97209ff7e5e47d141094fcf5e8e72a07bf2baedd420fb03",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Wilfred Ndidi to score",
      "decimal_odds": "9",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.930Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, Bundesliga, EFL for September 20-22 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidip",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Wilfred Ndidi to score"
   }
  },
  {
   "record_id": "n-5b1a367ce39a172338725aba",
   "url": "/authors/tom-carnduff/picks/3/#pick-n-5b1a367ce39a172338725aba",
   "match": "Lincoln City v Wigan Athletic",
   "match_url": null,
   "kickoff": "2024-09-21T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": -17739.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Lincoln City at 1.95",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_market_closing_sm",
   "series_short": "last pre-match archive price, restored",
   "author_price": "1.95",
   "settled_price": "2.0000",
   "published_at": "2024-09-17T09:06:11.000Z",
   "recorded_at": "2026-09-30T15:06:40.092Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-5b1a367ce39a172338725aba",
    "quote_text": "2pts Lincoln to beat Wigan (12:30) at 19/20 (General)",
    "fragment_from": 580,
    "fragment_to": 633,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240919092905id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "941fd80a6b917de46bb2731732ec4fc1cfab4d8f6d3ad9219b250a9e4fe04c26",
     "material_removed": false
    },
    "published_at": "2024-09-17T09:06:11.000Z",
    "detected_at": "2026-09-30T15:06:40.092Z",
    "executed_at": "2026-11-07T18:22:02.923Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Lincoln City v Wigan Athletic",
     "competition_name": "EFL League One",
     "starts_at": "2024-09-21T11:30:00.000Z",
     "url": null,
     "scoreline": "0-0"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Lincoln City",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "2.0000",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
    "dates": {
     "fragment_at": "2024-09-17T09:06:11.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-09-17T09:06:11.000Z",
     "detected_at": "2026-09-30T15:06:40.092Z",
     "archive_snapshot_at": "2024-09-19T09:29:05.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Lincoln City",
     "author_odds": "1.95",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Lincoln City at 1.95"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Lincoln City 0-0 Wigan Athletic."
    },
    "settlements": [
     {
      "operation_id": "92458dc2551bf3db976ee8eb76d1329ce9ac8c7f5485865850e3efd7832cfa64",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Lincoln City",
      "decimal_odds": "1.95",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.917Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ce17c3fde7ce325084ed08fca11cd2b4a2722a6028c7b53e75ab52a6ae051ee7",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Lincoln City",
      "decimal_odds": "2.0000",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:02.923Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, Bundesliga, EFL for September 20-22 | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidip",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-bundesliga-efl-for-september-20-22/220537",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lincoln City to win"
   }
  },
  {
   "record_id": "n-670c59bcf3467672fb87f3df",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-670c59bcf3467672fb87f3df",
   "match": "Bolton Wanderers v Wrexham",
   "match_url": null,
   "kickoff": "2024-08-18T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": -18553.1,
   "market_code": "player_to_score",
   "author_said": "Player to score: Eoin Toal to score at 12",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "12",
   "settled_price": "12",
   "published_at": "2024-08-12T14:41:14.000Z",
   "recorded_at": "2026-09-30T15:04:30.196Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-670c59bcf3467672fb87f3df",
    "quote_text": "1pt Eoin Toal to score anytime in Bolton vs Wrexham (15:00) at 11/1 (Sky Bet)",
    "fragment_from": 636,
    "fragment_to": 713,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240815164207id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b64bb6853b46195e6bbd19fca928db999f4501b0363d42280d47a5ac9a80714f",
     "material_removed": false
    },
    "published_at": "2024-08-12T14:41:14.000Z",
    "detected_at": "2026-09-30T15:04:30.196Z",
    "executed_at": "2026-11-07T18:22:01.492Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Bolton Wanderers v Wrexham",
     "competition_name": "EFL League One",
     "starts_at": "2024-08-18T14:00:00.000Z",
     "url": null,
     "scoreline": "0-0"
    },
    "market_label": "Player to score",
    "outcome_label": "Eoin Toal to score",
    "odds_set": {
     "by_author": "12",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
    "dates": {
     "fragment_at": "2024-08-12T14:41:14.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-08-12T14:41:14.000Z",
     "detected_at": "2026-09-30T15:04:30.196Z",
     "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Eoin Toal to score",
     "author_odds": "12",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Eoin Toal to score at 12"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Bolton Wanderers 0-0 Wrexham."
    },
    "settlements": [
     {
      "operation_id": "d138dd85f9def9231a64ba7d18ed476559f2a5e124d0b4f481f49c47b4dcda08",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Eoin Toal to score",
      "decimal_odds": "12",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:01.492Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets and predictions for Premier League, EFL and more | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidiprinter",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Eoin Toal to score"
   }
  },
  {
   "record_id": "n-a460ccc01f76175d52e2a0fe",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-a460ccc01f76175d52e2a0fe",
   "match": "Watford v Stoke City",
   "match_url": null,
   "kickoff": "2024-08-17T14:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -18577.1,
   "market_code": "player_to_score",
   "author_said": "Player to score: Junior Tchamadeu to score at 21",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "retro_author_price",
   "series_short": "author's odds, restored",
   "author_price": "21",
   "settled_price": "21",
   "published_at": "2024-08-12T14:41:14.000Z",
   "recorded_at": "2026-09-30T15:04:30.196Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-a460ccc01f76175d52e2a0fe",
    "quote_text": "1pt Junior Tchamadeu to score anytime in Watford vs Stoke (15:00) at 20/1 (Sky Bet)",
    "fragment_from": 543,
    "fragment_to": 626,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240815164207id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b64bb6853b46195e6bbd19fca928db999f4501b0363d42280d47a5ac9a80714f",
     "material_removed": false
    },
    "published_at": "2024-08-12T14:41:14.000Z",
    "detected_at": "2026-09-30T15:04:30.196Z",
    "executed_at": "2026-11-07T18:22:01.485Z",
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": null,
    "event": {
     "event_id": null,
     "display_name": "Watford v Stoke City",
     "competition_name": "EFL Championship",
     "starts_at": "2024-08-17T14:00:00.000Z",
     "url": null,
     "scoreline": "3-0"
    },
    "market_label": "Player to score",
    "outcome_label": "Junior Tchamadeu to score",
    "odds_set": {
     "by_author": "21",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
    "dates": {
     "fragment_at": "2024-08-12T14:41:14.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-08-12T14:41:14.000Z",
     "detected_at": "2026-09-30T15:04:30.196Z",
     "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Junior Tchamadeu to score",
     "author_odds": "21",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Junior Tchamadeu to score at 21"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "retro-1.0",
     "in_words": "Lost: the final score was Watford 3-0 Stoke City."
    },
    "settlements": [
     {
      "operation_id": "13fdee36bcb526666477dc745c5ec16cc11e3d5480657473317c19cf1d5ffe40",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Junior Tchamadeu to score",
      "decimal_odds": "21",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T18:22:01.485Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets and predictions for Premier League, EFL and more | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidiprinter",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Junior Tchamadeu to score"
   }
  },
  {
   "record_id": "n-c533f00e45489d43c6bd9aa6",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-c533f00e45489d43c6bd9aa6",
   "match": "Brighton & Hove Albion v Everton",
   "match_url": null,
   "kickoff": "2025-01-25T15:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": -14712.0,
   "market_code": "player_shots",
   "author_said": "Player shots on target over/under 3 at 2.38",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-01-23T13:45:18.000Z",
   "recorded_at": "2026-09-30T14:59:41.940Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-c533f00e45489d43c6bd9aa6",
    "quote_text": "1pt Dominic Calvert-Lewin 3+ total shots in Brighton vs Everton (15:00) at 11/8 (Coral, Ladbrokes)",
    "fragment_from": 363,
    "fragment_to": 461,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20250123182548id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-bundesliga-serie-a-for-january-24-26/223299",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1380ba48d62c98cfa28531c4bd4d6e3140d85b774786cf2a1f13fb140d399d1a",
     "material_removed": false
    },
    "published_at": "2025-01-23T13:45:18.000Z",
    "detected_at": "2026-09-30T14:59:41.940Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Brighton & Hove Albion v Everton",
     "competition_name": "Premier League",
     "starts_at": "2025-01-25T15:00:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Player shots on target over/under 3",
    "outcome_label": "",
    "odds_set": {
     "by_author": "2.375",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2025-01-23T18:25:48.000Z",
    "dates": {
     "fragment_at": "2025-01-23T13:45:18.000Z",
     "fragment_basis": "page",
     "source_page_at": "2025-01-23T13:45:18.000Z",
     "detected_at": "2026-09-30T14:59:41.940Z",
     "archive_snapshot_at": "2025-01-23T18:25:48.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player shots on target over/under 3",
     "choice": "",
     "author_odds": "2.375",
     "market_key": "player_shots",
     "choice_key": "over",
     "period": "match",
     "line": "3",
     "subject": "shots",
     "in_words": "Player shots on target over/under 3 at 2.38"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "881c573a6252f9df7eedf59f819a4169bb4470f599a65bc1fb31b0e7df279b06",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player shots on target over/under 3",
      "choice": "",
      "decimal_odds": "2.375",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:04.070Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, Bundesliga, Serie A for January 24-26 Tom Carnduff's tips: Best bets in Premier League, EFL, Bundesliga, Serie A for Januar",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-bundesliga-serie-a-for-january-24-26/223299",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Player shots on target over/under 3"
   }
  },
  {
   "record_id": "n-8b4fb22d92fd3bbd62826ac9",
   "url": "/authors/tom-carnduff/picks/4/#pick-n-8b4fb22d92fd3bbd62826ac9",
   "match": "Stoke City v Leeds United",
   "match_url": null,
   "kickoff": "2024-12-26T20:00:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -15427.2,
   "market_code": "player_to_score",
   "author_said": "Player to score: Ao Tanaka to score at 7.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2024-12-23T08:42:55.000Z",
   "recorded_at": "2026-09-30T15:11:22.470Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-8b4fb22d92fd3bbd62826ac9",
    "quote_text": "1pt Ao Tanaka to score anytime in Stoke vs Leeds at 13/2",
    "fragment_from": 816,
    "fragment_to": 872,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20241223164509id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1d04a9ed0af4b01a3ffa4dd83c7f056e746cab31828e1ffedfcee0f9043275bc",
     "material_removed": false
    },
    "published_at": "2024-12-23T08:42:55.000Z",
    "detected_at": "2026-09-30T15:11:22.470Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "not_supported",
    "event": {
     "event_id": null,
     "display_name": "Stoke City v Leeds United",
     "competition_name": "EFL Championship",
     "starts_at": "2024-12-26T20:00:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Player to score",
    "outcome_label": "Ao Tanaka to score",
    "odds_set": {
     "by_author": "7.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
    "dates": {
     "fragment_at": "2024-12-23T08:42:55.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-12-23T08:42:55.000Z",
     "detected_at": "2026-09-30T15:11:22.470Z",
     "archive_snapshot_at": "2024-12-23T16:45:09.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Player to score",
     "choice": "Ao Tanaka to score",
     "author_odds": "7.5",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Ao Tanaka to score at 7.5"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "f19217612a770c48eacbeb1e1c610d6311877790608381e587fa4d4d8b2a8ead",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Ao Tanaka to score",
      "decimal_odds": "7.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: not settled",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:22:02.990Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiership for Boxing Day, December 26 Tom Carnduff's tips: Best bets in Premier League, EFL, Scottish Premiershi",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-in-premier-league-efl-scottish-premiership-for-boxing-day-december-26/222665",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Ao Tanaka to score"
   }
  },
  {
   "record_id": "n-69ac071b2b7d2f3ede027ccc",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-69ac071b2b7d2f3ede027ccc",
   "match": "Chelsea v Manchester City",
   "match_url": null,
   "kickoff": "2024-08-18T15:30:00.000Z",
   "competition": "Premier League",
   "lead_hours": -18551.6,
   "market_code": "team_total",
   "author_said": "Team goals over/under 3: Manchester City over 3 at 2.9",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2024-08-12T14:41:14.000Z",
   "recorded_at": "2026-09-30T15:04:30.196Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-69ac071b2b7d2f3ede027ccc",
    "quote_text": "2pts Manchester City to score 3+ goals vs Chelsea (16:30) at 19/10 (BetVictor)",
    "fragment_from": 715,
    "fragment_to": 793,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240815164207id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b64bb6853b46195e6bbd19fca928db999f4501b0363d42280d47a5ac9a80714f",
     "material_removed": false
    },
    "published_at": "2024-08-12T14:41:14.000Z",
    "detected_at": "2026-09-30T15:04:30.196Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Chelsea v Manchester City",
     "competition_name": "Premier League",
     "starts_at": "2024-08-18T15:30:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Team goals over/under 3",
    "outcome_label": "Manchester City over 3",
    "odds_set": {
     "by_author": "2.9",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": "5.6050",
     "closing_source": "last pre-match price in archive (~8–15 h before kick-off)"
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
    "dates": {
     "fragment_at": "2024-08-12T14:41:14.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-08-12T14:41:14.000Z",
     "detected_at": "2026-09-30T15:04:30.196Z",
     "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Team goals over/under 3",
     "choice": "Manchester City over 3",
     "author_odds": "2.9",
     "market_key": "team_total",
     "choice_key": "2-over",
     "period": "match",
     "line": "3",
     "subject": "goals_total",
     "in_words": "Team goals over/under 3: Manchester City over 3 at 2.9"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "e65e0abb93712ced3b1dcd9eb31d00bd99df4ce4f31cfd06f0bb052c0da4420b",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 3",
      "choice": "Manchester City over 3",
      "decimal_odds": "2.9",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:00.197Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6b567cd64f9b6157246c2999a3ec74b9e291f7b53429dafdb55d2daf450a4750",
      "series_key": "retro_market_closing_sm",
      "series_label": "Restored, at the last pre-match price in archive (~8–15 h before kick-off)",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 3",
      "choice": "Manchester City over 3",
      "decimal_odds": "5.6050",
      "odds_role": "closing_odds",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:14.991Z",
      "methodology_version": "retro-1.1",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets and predictions for Premier League, EFL and more | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidiprinter",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Manchester City over 3 (Team goals over/under 3)"
   }
  },
  {
   "record_id": "n-ff0c2655c69375e5c18adad1",
   "url": "/authors/tom-carnduff/picks/2/#pick-n-ff0c2655c69375e5c18adad1",
   "match": "Derby County v Middlesbrough",
   "match_url": null,
   "kickoff": "2024-08-17T11:30:00.000Z",
   "competition": "EFL Championship",
   "lead_hours": -18579.6,
   "market_code": "corners_total",
   "author_said": "Over/Under 6 corners: over 6 at 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "counted in the restored-history series",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2024-08-12T14:41:14.000Z",
   "recorded_at": "2026-09-30T15:04:30.196Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived 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-ff0c2655c69375e5c18adad1",
    "quote_text": "1.5pts Derby 6+ corners vs Middlesbrough (12:30) at 6/4 (bet365)",
    "fragment_from": 477,
    "fragment_to": 541,
    "quote_allowed": true,
    "source_info": {
     "medium": "website",
     "url": "https://web.archive.org/web/20240815164207id_/https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "display_name": null,
     "speaker": "Tom Carnduff",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b64bb6853b46195e6bbd19fca928db999f4501b0363d42280d47a5ac9a80714f",
     "material_removed": false
    },
    "published_at": "2024-08-12T14:41:14.000Z",
    "detected_at": "2026-09-30T15:04:30.196Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "too_late",
    "cause": "counted in the restored-history series",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": null,
     "display_name": "Derby County v Middlesbrough",
     "competition_name": "EFL Championship",
     "starts_at": "2024-08-17T11:30:00.000Z",
     "url": null,
     "scoreline": null
    },
    "market_label": "Over/Under 6 corners",
    "outcome_label": "over 6",
    "odds_set": {
     "by_author": "2.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": "Restored, at the author's stated price",
    "withdrawn": false,
    "provenance": "restored_archive",
    "provenance_words": "Archived before kick-off",
    "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
    "dates": {
     "fragment_at": "2024-08-12T14:41:14.000Z",
     "fragment_basis": "page",
     "source_page_at": "2024-08-12T14:41:14.000Z",
     "detected_at": "2026-09-30T15:04:30.196Z",
     "archive_snapshot_at": "2024-08-15T16:42:07.000Z",
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "prematch_web_archive",
    "origin_detail": null,
    "origin_words": "Archived before kick-off",
    "added_on": "Added to our record on 30 Sep 2026",
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 6 corners",
     "choice": "over 6",
     "author_odds": "2.5",
     "market_key": "corners_total",
     "choice_key": "over",
     "period": "match",
     "line": "6",
     "subject": "corners",
     "in_words": "Over/Under 6 corners: over 6 at 2.5"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting a final score for this restored pick",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting a final score for this restored pick."
    },
    "settlements": [
     {
      "operation_id": "574c4e176c24c1f6bdb1876f004a54dad69e65247308dd7b6df846ef3113d418",
      "series_key": "retro_author_price",
      "series_label": "Restored, at the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 6 corners",
      "choice": "over 6",
      "decimal_odds": "2.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-07T18:28:05.283Z",
      "methodology_version": "retro-1.0",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Tom Carnduff",
     "publisher": "sportinglife.com",
     "forecaster": "Tom Carnduff",
     "forecaster_named_in_text": true,
     "basis": null,
     "status": "matches_source",
     "status_words": "Named in the source as the tipster",
     "status_note": null,
     "evidence_fragment": "Tom Carnduff's tips: Best bets and predictions for Premier League, EFL and more | Football Scores & Fixtures Tips Tables News Transfer Centre Fantasy Football Vidiprinter",
     "material_url": "https://www.sportinglife.com/football/news/tom-carnduffs-tips-best-bets-and-predictions-for-premier-league-efl-and-more/219812",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 6 (Over/Under 6 corners)"
   }
  },
  {
   "record_id": "n-15734d90ad7901c1591de964",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Over 2.5 goals in Middlesbrough vs Sheff Weds, Watford vs Portsmouth, Bolton vs Barnsley & Walsall vs Doncaster at 9.62/1",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:11:22.470Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-4aad5d8348a0228bcf7de50a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Tottenham 7+ corners vs Nottingham Forest at 8/5",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:11:22.470Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-9802fdb0c2ec95ef5698fb6d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Southampton 14+ fouls committed vs West Ham at 10/3",
   "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": null,
   "recorded_at": "2026-09-30T15:11:22.470Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-31ecdedef4c04c650a1d8594",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Over 11.5 corners in Hearts vs Hibernian at 6/4",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:11:22.470Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-33052bcf71328cd076692598",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Moise Bombito to score anytime in Brest vs Nice (18:00) at 18/1 (Betfair, Paddy Power)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:07:09.476Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-76574021492e04471e4c79c6",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "0.5pt Matheus Nunes to score 2+ goals in Bournemouth vs Manchester City (15:00) at 80/1 (bet365)",
   "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": null,
   "recorded_at": "2026-09-30T15:07:09.476Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-147319df1f59d2465bda0451",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Matheus Nunes 1+ assists in Bournemouth vs Manchester City (15:00) at 9/2 (William Hill)",
   "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": null,
   "recorded_at": "2026-09-30T15:07:09.476Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-e99889541da8057c019c51b3",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "2pts Over 2.5 goals in Ulm vs Schalke (17:30) at 17/20 (bet365)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:07:09.476Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-a01531853acda61070f43c78",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Over 3.5 goals in Heidenheim vs Freiburg (14:30) at 7/4 (bet365)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:06:40.092Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-5ba553c290a553b61fc58b3c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Elvis Rexhbecaj to score anytime in Augsburg vs Mainz (19:30) at 6/1 (bet365)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:06:40.092Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-8dd5534374e2ea4e3272afe2",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Grimsby to score 2+ goals vs Swindon (15:00) at 7/4 (Betfair, Paddy Power)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:06:10.096Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-fc4f36034eb358db2c62600d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Kaoru Mitoma 1+ assists in West Ham vs Brighton (15:00) at 4/1 (Betway, BoyleSports)",
   "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": null,
   "recorded_at": "2026-09-30T15:06:10.096Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-8f680ded1b8003251ffac262",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Xaver Schlager to score anytime in Bayern vs Leipzig (19:30) at 25/1 (Sky Bet)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:06:10.096Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-550492ad6fae78188b64d64e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "I do like the potential for BOTH TEAMS TO SCORE though because of Grimsby's involvement.\n\nCLICK HERE to back BTTS with Sky Bet\n\nIt's been a winner in four of their last six on the road, and while…",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:05:24.280Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-88922b72dfe121b676adc46b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "PATRICK ERRAS scored the only goal of the game as they beat Heidenheim last time out and this contest presents a good opportunity to go back-to-back.\n\nCLICK HERE to back Patrick Erras to score…",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:05:24.280Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-d4a2f4c28e4d115b941bc028",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "2pts Over 2.5 goals in Moreirense vs Gil Vicente (20:15) at 11/8 (General)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:05:24.280Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-aa5824cd83abceb4361e3387",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Bayern Munich to score 4+ goals vs Ulm (19:45) at 11/8 (Betfair, Paddy Power)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:04:30.196Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-dd5b3eaea933a7457b79ce28",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Pablo Rosario to score anytime in Nice vs Monaco (16:00) at 14/1",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-e8206b375ad878c83e7950ac",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Magdeburg to beat Hannover (12:30) at 8/5",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-a68171e77373bd36980fc76c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Lewandowski to score 2+ goals at 8/1",
   "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": null,
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-153ff42e87192b2b02dfeb03",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Robert Lewandowski to score anytime in Real Madrid vs Barcelona (20:00) at 17/10",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-4d7feec80bc6d9673432bee4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Augsburg to beat Borussia Dortmund (14:30) at 11/4",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-281f07c107648cfcf89552e5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 2.5 goals in Espanyol vs Sevilla (20:00) at 6/5",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": null,
   "recorded_at": "2026-09-30T15:00:49.160Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-2371eb4ff5d963061fc4d7af",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 6.5 cards",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-01-29T11:36:33.000Z",
   "recorded_at": "2026-10-12T20:10:30.522Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-c463bcceb9e2a02d2b635306",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 4.5 cards",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-01-29T11:36:33.000Z",
   "recorded_at": "2026-10-12T20:10:30.522Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-36979669afa9afce452a1f68",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 4.5 match cards",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-01-19T08:38:33.000Z",
   "recorded_at": "2026-10-12T20:10:34.370Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-06bc44d9bcbe63755e59c384",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 4.5 cards",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-01-05T09:13:38.000Z",
   "recorded_at": "2026-10-12T20:10:38.051Z",
   "origin": "Source-reported history",
   "record_part": "source_reported",
   "record_part_words": "Source-reported history",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-6f22c0383c25889485d7bdc7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "2pts Vitoria Guimaraes most corners vs Gil Vicente (20:15) at 4/5 (Sky Bet)",
   "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": "2025-04-10T08:26:10.000Z",
   "recorded_at": "2026-09-28T17:11:51.695Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-a9a5ec792bb964abe3e97ef5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1pt Cagliari 6+ corners vs Torino (19:45) at 11/4 (Sky Bet)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-01-23T13:45:18.000Z",
   "recorded_at": "2026-09-30T14:59:41.940Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-5af4545219c1db3b76d1bd66",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 2.5 goals in Swansea vs West Brom, Stoke vs Plymouth & Notts County vs Swindon (12:30) at 4.82/1",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "after_match",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2025-01-02T08:59:48.000Z",
   "recorded_at": "2026-09-30T15:08:57.968Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-f5b1f6f1c18a411703098170",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "MOHAMED SALAH should star once again and it was a surprise to see a price as generous as 21/10 on 1+ ASSISTS.",
   "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": "2025-01-02T08:59:48.000Z",
   "recorded_at": "2026-09-30T15:08:57.968Z",
   "origin": "Archived before kick-off",
   "record_part": "archived",
   "record_part_words": "Archived before kick-off",
   "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": 37,
  "before_kickoff": 0,
  "after_kickoff": 37,
  "at_least_2h": 0,
  "share_2h_plus": 0.0,
  "median_hours": null,
  "min_hours": null,
  "max_hours": null,
  "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": "none",
  "picks": 0,
  "settled_picks_all": 0,
  "excluded": {
   "market_without_favourite": 0,
   "no_recorded_line": 0,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 0,
  "author_net_hundredths": 0,
  "favourite_net_hundredths": 0,
  "difference_hundredths": 0,
  "author_return_percent": null,
  "favourite_return_percent": null,
  "author_hit_rate": null,
  "favourite_hit_rate": null,
  "picked_favourite_share": null,
  "by_market": [],
  "return_over_time": [],
  "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": 68,
  "pages": 5,
  "page_urls": [
   "/authors/tom-carnduff/",
   "/authors/tom-carnduff/picks/2/",
   "/authors/tom-carnduff/picks/3/",
   "/authors/tom-carnduff/picks/4/",
   "/authors/tom-carnduff/picks/5/"
  ],
  "groups": {
   "settled": 33,
   "pending": 0,
   "excluded": 35
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/tom-carnduff/",
  "current": false
 },
 "title_tag": "Tom Carnduff Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-9d2b0773441fc68b5bd94a9a",
  "type_code": "individual",
  "name_shown": "Tom Carnduff",
  "main_entity": "e-9d2b0773441fc68b5bd94a9a",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-9d2b0773441fc68b5bd94a9a",
    "medium": "Sporting Life",
    "channel": "section pages",
    "domain": "sportinglife.com",
    "source_info": "sporting-life",
    "byline": "Tom Carnduff",
    "url": "/sources/sporting-life/",
    "summary": {
     "statements": 146,
     "predictions": 68,
     "settled_picks": 3,
     "headline_kind": "historical_simulation",
     "return_percent": -42.0,
     "headline_part": "archived",
     "period_from": "2026-09-28",
     "period_to": "2026-10-12"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-10-16.5",
  "updated": "2026-10-16",
  "current_release": "2026-11-07.2",
  "data_as_of": "2026-11-07",
  "method_version": "retro-1.1",
  "price_rule": "reconstructed at archived prices (~8–15 h before kick-off), archived before kick-off only",
  "series_code": "retro_market_closing_sm:archived",
  "sample": {
   "settled_picks": 3,
   "matches": 3,
   "void": 0,
   "period_from": "2024-09-21",
   "period_to": "2024-11-02",
   "composition_hash": "4f20e215db95b2e8b92fa453c00a6ef690cc0d9ae0318d89f8260e0900028862"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-9dc29d430f07d9c6000f",
   "at": "2026-10-16T17:26:36.835Z",
   "data_version": "2026-10-16.5",
   "previous_data_version": "2026-10-16.4",
   "url": "/authors/tom-carnduff/",
   "category": "data_corrected",
   "category_words": "Data corrected",
   "before": {
    "data_version": "2026-10-09.2",
    "return_percent": "-56.50",
    "settled_picks": 4,
    "matches": 4,
    "void": 0,
    "series_code": "retro_market_closing_sm:archived",
    "price_rule": "historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only",
    "method_version": "retro-1.1",
    "composition_hash": "b577e75b436ad11060e51be4074ff34cc668c9333263d6a7e0c4e97515df145a",
    "text": "−226.00 points on 4 settled picks across 4 matches · historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only · method retro-1.1"
   },
   "after": {
    "data_version": "2026-10-16.5",
    "return_percent": "-42.00",
    "settled_picks": 3,
    "matches": 3,
    "void": 0,
    "series_code": "retro_market_closing_sm:archived",
    "price_rule": "historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only",
    "method_version": "retro-1.1",
    "composition_hash": "4f20e215db95b2e8b92fa453c00a6ef690cc0d9ae0318d89f8260e0900028862",
    "text": "−126.00 points on 3 settled picks across 3 matches · historical simulation at the last pre-match price in archive (~8–15 h before kick-off), archived before kick-off only · method retro-1.1"
   },
   "reason": "Data corrected: 1 pick left the headline sample.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 1,
    "changed": 0
   },
   "correction_id": "i-d2ac945e82bb7ce50181"
  },
  {
   "id": "zc-29df16d493569b42e603",
   "at": "2026-10-09T12:49:36.723Z",
   "data_version": "2026-10-09.2",
   "previous_data_version": "2026-10-09.1",
   "url": "/authors/tom-carnduff/",
   "category": "method_changed",
   "category_words": "Method changed",
   "before": {
    "data_version": "2026-09-30.1",
    "return_percent": "-42.81",
    "settled_picks": 16,
    "matches": 15,
    "void": 0,
    "series_code": "retro_author_price",
    "price_rule": "author's stated odds, restored",
    "method_version": "retro-1.0",
    "composition_hash": "c814f027e7ee64a5dd55c1e7dadd17232d13fa364ef2fa252b49ad6089dc7f90",
    "text": "−42.81% on 16 settled picks across 15 matches · author's stated odds, restored · method retro-1.0"
   },
   "after": {
    "data_version": "2026-10-09.2",
    "return_percent": "-56.50",
    "settled_picks": 4,
    "matches": 4,
    "void": 0,
    "series_code": "retro_market_closing_sm:archived",
    "price_rule": "historical simulation at the last pre-match archive price (~8–15 h before kick-off), archived before kick-off only",
    "method_version": "retro-1.1",
    "composition_hash": "b577e75b436ad11060e51be4074ff34cc668c9333263d6a7e0c4e97515df145a",
    "text": "−226.00 points on 4 settled picks across 4 matches · historical simulation at the last pre-match archive price (~8–15 h before kick-off), archived before kick-off only · method retro-1.1"
   },
   "reason": "The headline rule changed on 9 October 2026: the headline is the live record at our recorded market price; without one, a historical simulation at the last pre-match archive price (~8–15 h before kick-off) on picks archived before kick-off only. Picks first found after the match no longer enter the headline number. Was: author's stated odds, restored (16 settled picks). Now: historical simulation at the last pre-match archive price (~8–15 h before kick-off), archived before kick-off only (4 settled picks).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 0,
    "removed": 12,
    "changed": 1
   },
   "correction_id": "i-32a6f971d2f336167b51"
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "archived",
    "title": "Archived before kick-off",
    "price_rule": "Reconstructed at archived prices",
    "settled_picks": 3,
    "total_check": true,
    "market_list": [
     {
      "code_name": "both_teams_score",
      "in_words": "Both teams to score",
      "url": null,
      "settled_picks": 1,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -10000,
      "return_percent": "-100.0",
      "period_from": "2024-10-26",
      "period_to": "2024-10-26",
      "small_sample": true,
      "average_odds": "2.00",
      "odds_from_author": 1,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 1,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -10000,
      "return_percent": "-100.0",
      "period_from": "2024-09-21",
      "period_to": "2024-09-21",
      "small_sample": true,
      "average_odds": "1.95",
      "odds_from_author": 1,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "total",
      "in_words": "Over/under goals",
      "url": null,
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 7400,
      "return_percent": "74.0",
      "period_from": "2024-11-02",
      "period_to": "2024-11-02",
      "small_sample": true,
      "average_odds": "1.85",
      "odds_from_author": 1,
      "odds_from_snapshot": 0
     }
    ],
    "leagues": [
     {
      "code_name": "EFL Championship",
      "in_words": "EFL Championship",
      "url": "/football/competitions/efl-championship/",
      "settled_picks": 2,
      "won": 1,
      "void": 0,
      "net_points_hundredths": -2600,
      "return_percent": "-13.0",
      "period_from": "2024-10-26",
      "period_to": "2024-11-02",
      "small_sample": true,
      "average_odds": "1.93",
      "odds_from_author": 2,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2024-10-26",
        "period_to": "2024-10-26",
        "small_sample": true,
        "average_odds": "2.00",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 7400,
        "return_percent": null,
        "period_from": "2024-11-02",
        "period_to": "2024-11-02",
        "small_sample": true,
        "average_odds": "1.85",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "EFL League One",
      "in_words": "EFL League One",
      "url": "/football/competitions/efl-league-one/",
      "settled_picks": 1,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -10000,
      "return_percent": "-100.0",
      "period_from": "2024-09-21",
      "period_to": "2024-09-21",
      "small_sample": true,
      "average_odds": "1.95",
      "odds_from_author": 1,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2024-09-21",
        "period_to": "2024-09-21",
        "small_sample": true,
        "average_odds": "1.95",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     }
    ],
    "best_slice": null
   }
  ],
  "best_slice": null
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 28 September 2026 · 68 predictions · last change 12 October 2026",
  "url": "https://forecastrecord.com/authors/tom-carnduff/",
  "s": "2026-09-28",
  "prediction_count": 68,
  "refreshed_at": "2026-10-12",
  "html": "<a href=\"https://forecastrecord.com/authors/tom-carnduff/\">Record tracked by Forecast Record since 28 September 2026 · 68 predictions · last change 12 October 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 15,
  "days": 239,
  "weeks": 7,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 2,
  "first_settled_on": "2024-08-17",
  "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": "sporting-life",
   "source_name": "Sporting Life",
   "source_url": "/sources/sporting-life/",
   "label": "Also at Sporting Life",
   "authors_total": 3,
   "authors": [
    {
     "name": "Jake Osgathorpe",
     "url": "/authors/jake-osgathorpe/",
     "headline_part": "archived",
     "settled_picks": 24,
     "return_percent": "29.3",
     "small_sample": false,
     "average_odds": "2.58",
     "odds_from_author": 20,
     "odds_from_snapshot": 4
    },
    {
     "name": "Joe Townsend",
     "url": "/authors/joe-townsend/",
     "headline_part": "archived",
     "settled_picks": 15,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Jimmy 'The Punt' Cantrill",
     "url": "/authors/jimmy-the-punt-cantrill/",
     "headline_part": "archived",
     "settled_picks": 3,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "2.31",
     "odds_from_author": 0,
     "odds_from_snapshot": 3
    }
   ]
  }
 ],
 "author_type": "Pundit",
 "data_changes": {
  "added_later": "1 record added on 28 Sep 2026 from archived copies; 18 records added on 30 Sep 2026 from archived copies; 18 records added on 12 Oct 2026 from the source's own history. The current numbers include them; numbers published earlier, including the record before each match, do not change.",
  "records_corrected": 0,
  "last_correction_at": "2026-10-16T17:26:36.835Z",
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-9d2b0773441fc68b5bd94a9a",
 "source_revision": 207,
 "related": [
  {
   "url": "/cards/e-9d2b0773441fc68b5bd94a9a-bank/",
   "name": "Bankroll card — Tom Carnduff",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-9d2b0773441fc68b5bd94a9a-said-vs-happened/",
   "name": "Said → happened — Tom Carnduff",
   "detail": null,
   "source_group": "cards"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 33,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 68,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 68,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 3,
   "where": "origin-archived",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.source_reported",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 18,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 15,
   "where": "origin-archived",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked",
   "entity": "e-9d2b0773441fc68b5bd94a9a",
   "value": 15,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
