{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/jonathan-o-shea/",
 "canonical": "/authors/jonathan-o-shea/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Jonathan O'Shea: Football Prediction Record",
 "description": "1 settled pick by Jonathan O'Shea recorded before kick-off across 1 match, 1 Nov 2026: won 0 of 1 at our recorded market prices. Every pick with its source.",
 "first_paragraph": {
  "body": "Forecast Record recorded 1 settled live pick by Jonathan O'Shea before kick-off across 1 match on 1 November 2026. Won 0 of 1 settled live pick at our recorded market prices. Of the 75 predictions we hold for Jonathan O'Shea, 60 are linked to matches: 60 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "1",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "outside_core",
 "indexing_threshold": {
  "settled_count": 54,
  "date_count": 26,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T17:54:46.357Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "e2b49d0c12e2fdfb934d45a9a02764eab72f38e5a0fc164bedfb51e807d1c6d8",
 "dependency_group": "author:e-4a4c3d0d1d8abc763e97c466",
 "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/jonathan-o-shea/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/jonathan-o-shea/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-4a4c3d0d1d8abc763e97c466",
  "public_name": "Jonathan O'Shea",
  "tracker_number": 1844,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-25",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-4a4c3d0d1d8abc763e97c466-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": "-100.0000",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 1,
   "n_events": 1,
   "n_void": 0,
   "ci_low": null,
   "ci_high": null,
   "ci_method": "not_estimated",
   "price_source": "market_price",
   "coverage_percent": "0.00",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T17:54:46.357Z",
   "enough_for_ranking": false,
   "series_uid": null,
   "series_key": "market_price",
   "series_label": "At an independent odds snapshot"
  },
  "byline": "Return on stakes at an independent odds snapshot over 90 days: 1 settled pick across 1 match",
  "average_odds": "11.50",
  "odds_from_author": 0,
  "odds_from_snapshot": 1
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-5fcbed51b88ab7550f54cb06",
  "bankroll_hundredths": 990000,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": -10000,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-11-01T16:27:38.855Z",
    "bankroll_hundredths": 990000,
    "profit_hundredths": -10000,
    "outcome_id": "ish-6c27b0c943721a7100e7ea91"
   }
  ],
  "top_ups": [],
  "rule": "When the balance falls below 100 points and no bets are open, 10000 points are added; the remaining balance is kept. While bets are open we wait for settlement.",
  "series_key": "market_price",
  "series_label": "At an independent odds snapshot"
 },
 "simulations": [],
 "completeness": {
  "detected": 324,
  "recognised": 75,
  "accepted": 1,
  "executed": 1,
  "calculated": 1,
  "gaps": [
   {
    "cause": "outside the method",
    "figure": 59
   },
   {
    "cause": "National-team matches",
    "figure": 11
   },
   {
    "cause": "not_supported",
    "figure": 2
   },
   {
    "cause": "other reading",
    "figure": 2
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 324,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 45,
   "not_about_a_match": 203,
   "unclassified": 0
  },
  "predictions": 75,
  "predictions_restored": 0,
  "matches": 60,
  "admitted": 1,
  "qualifying_picks": 1,
  "qualifying_picks_restored": 0,
  "settled_picks": 1,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 1,
    "settled_picks": 1,
    "void": 0,
    "pending_picks": 0,
    "matches": 1,
    "operations_settled": 1,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   },
   {
    "code_name": "derived_series",
    "derived": true,
    "is_restored": false,
    "qualifying_picks": 60,
    "settled_picks": 54,
    "void": 0,
    "pending_picks": 6,
    "matches": 54,
    "operations_settled": 55,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "Forecast Record reconstruction from the predicted score"
   }
  ],
  "gaps": [
   {
    "code_name": "not_admitted",
    "cause": "outside the method",
    "figure": 59
   },
   {
    "code_name": "outside_coverage",
    "cause": "National-team matches",
    "figure": 11
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 2
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 2
   }
  ],
  "duplicates": 28,
  "junk": {
   "service": 7,
   "ads": 2
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-e22c1935003ae6e9dcf08161",
   "url": "/evidence/?pick=n-e22c1935003ae6e9dcf08161",
   "quote_text": "Milutin Osmajic is the hosts' top scorer with four league goals, while ex-Milan forward Stephan",
   "fragment_from": 3733,
   "fragment_to": 3828,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b78b44405172e09c5c0b18a9fe0b5014a602f48bbc3a0b2ff374da5eb9db78a",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:24:00.000Z",
   "detected_at": "2026-11-07T06:10:46.209Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:24:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:24:00.000Z",
    "detected_at": "2026-11-07T06:10:46.209Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3b658eeaf28f1152dd28f37c",
   "url": "/evidence/?pick=n-3b658eeaf28f1152dd28f37c",
   "quote_text": "By contrast, Genoa boss De Rossi may have a full squad to choose from, as Elias Havel and Lorenzo",
   "fragment_from": 3587,
   "fragment_to": 3684,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b78b44405172e09c5c0b18a9fe0b5014a602f48bbc3a0b2ff374da5eb9db78a",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:24:00.000Z",
   "detected_at": "2026-11-07T06:10:46.209Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:24:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:24:00.000Z",
    "detected_at": "2026-11-07T06:10:46.209Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3da4e1cb3ec8471f8bc8a620",
   "url": "/evidence/?pick=n-3da4e1cb3ec8471f8bc8a620",
   "quote_text": "Though Strahinja Pavlovic should be brought back after a fitness issue, Fikayo Tomori, Samuel",
   "fragment_from": 3400,
   "fragment_to": 3493,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b78b44405172e09c5c0b18a9fe0b5014a602f48bbc3a0b2ff374da5eb9db78a",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:24:00.000Z",
   "detected_at": "2026-11-07T06:10:46.209Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:24:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:24:00.000Z",
    "detected_at": "2026-11-07T06:10:46.209Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-dbbf8eff046a21abb63deae2",
   "url": "/evidence/?pick=n-dbbf8eff046a21abb63deae2",
   "quote_text": "For sure, Milan captain Mike Maignan will replace Lorenzo Torriani in goal, after serving a Europa",
   "fragment_from": 3059,
   "fragment_to": 3157,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b78b44405172e09c5c0b18a9fe0b5014a602f48bbc3a0b2ff374da5eb9db78a",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:24:00.000Z",
   "detected_at": "2026-11-07T06:10:46.209Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:24:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:24:00.000Z",
    "detected_at": "2026-11-07T06:10:46.209Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8294ca37b83370d1509997cc",
   "url": "/evidence/?pick=n-8294ca37b83370d1509997cc",
   "quote_text": "Three days on from a dismal defeat to Ferencvaros, it is likely that Amorim will make multiple",
   "fragment_from": 2954,
   "fragment_to": 3048,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b78b44405172e09c5c0b18a9fe0b5014a602f48bbc3a0b2ff374da5eb9db78a",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:24:00.000Z",
   "detected_at": "2026-11-07T06:10:46.209Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T13:24:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:24:00.000Z",
    "detected_at": "2026-11-07T06:10:46.209Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ee325483f2584212942e3fc7",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-ee325483f2584212942e3fc7",
   "quote_text": "We say: Genoa 2-2 AC Milan",
   "fragment_from": 4309,
   "fragment_to": 4335,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b78b44405172e09c5c0b18a9fe0b5014a602f48bbc3a0b2ff374da5eb9db78a",
    "material_removed": false
   },
   "published_at": "2026-11-06T13:24:00.000Z",
   "detected_at": "2026-11-07T06:10:46.209Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-3784c83a039e",
    "display_name": "Genoa — AC Milan",
    "competition_name": "Serie A",
    "starts_at": "2026-11-08T14:00:00.000Z",
    "url": "/football/matches/genoa-vs-ac-milan-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Correct score",
   "outcome_label": "Genoa 2-2 AC Milan",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T13:24:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T13:24:00.000Z",
    "detected_at": "2026-11-07T06:10:46.209Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Genoa 2-2 AC Milan",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Genoa 2-2 AC Milan"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 14:00 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 14:00 UTC."
   },
   "settlements": [
    {
     "operation_id": "b46d2d4ffb1ff56545a2ae592452d34c1fc556ba4d97414a1638d9e4aea1deb8",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T06:19:11.198Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-80d61234d504c20df4b367e3",
   "url": "/evidence/?pick=n-80d61234d504c20df4b367e3",
   "quote_text": "History weighs heavily on Inter's side in this Lombardy derby, having won 14 consecutive Serie",
   "fragment_from": 1807,
   "fragment_to": 1901,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-como-prediction-team-news-lineups_608620.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ad74f69c24256e96915f879850df634a4451bb0fd19e69d62a29547f94e110f1",
    "material_removed": false
   },
   "published_at": "2026-11-06T16:55:00.000Z",
   "detected_at": "2026-11-06T17:16:13.056Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T16:55:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T16:55:00.000Z",
    "detected_at": "2026-11-06T17:16:13.056Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-59b573e05fc8092b28386722",
   "url": "/evidence/?pick=n-59b573e05fc8092b28386722",
   "quote_text": "Once again, Fabregas will be without Moise Kean, Trevoh Chalobah, Jesus Rodriguez, Jayden ",
   "fragment_from": 4708,
   "fragment_to": 4798,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-como-prediction-team-news-lineups_608620.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ad74f69c24256e96915f879850df634a4451bb0fd19e69d62a29547f94e110f1",
    "material_removed": false
   },
   "published_at": "2026-11-06T16:55:00.000Z",
   "detected_at": "2026-11-06T17:16:13.056Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T16:55:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T16:55:00.000Z",
    "detected_at": "2026-11-06T17:16:13.056Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5cfdabfca142d740efda0a8c",
   "url": "/evidence/?pick=n-5cfdabfca142d740efda0a8c",
   "quote_text": "Though Inter captain Lautaro Martinez is not due back until after the break, and Luis Henrique",
   "fragment_from": 3805,
   "fragment_to": 3899,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-como-prediction-team-news-lineups_608620.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ad74f69c24256e96915f879850df634a4451bb0fd19e69d62a29547f94e110f1",
    "material_removed": false
   },
   "published_at": "2026-11-06T16:55:00.000Z",
   "detected_at": "2026-11-06T17:16:13.056Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T16:55:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T16:55:00.000Z",
    "detected_at": "2026-11-06T17:16:13.056Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7c512f352135c046fa2722b9",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-7c512f352135c046fa2722b9",
   "quote_text": "We say: Inter Milan 2-3 Como",
   "fragment_from": 5099,
   "fragment_to": 5127,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-como-prediction-team-news-lineups_608620.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ad74f69c24256e96915f879850df634a4451bb0fd19e69d62a29547f94e110f1",
    "material_removed": false
   },
   "published_at": "2026-11-06T16:55:00.000Z",
   "detected_at": "2026-11-06T17:16:13.056Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-3f437b15dcb4",
    "display_name": "Inter — Como",
    "competition_name": "Serie A",
    "starts_at": "2026-11-08T17:00:00.000Z",
    "url": "/football/matches/inter-vs-como-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Correct score",
   "outcome_label": "Inter 2-3 Como",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T16:55:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T16:55:00.000Z",
    "detected_at": "2026-11-06T17:16:13.056Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Inter 2-3 Como",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Inter 2-3 Como"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 17:00 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 17:00 UTC."
   },
   "settlements": [
    {
     "operation_id": "3d750f34031413850896ea18e28e3c2fd10a7cee6ec003344a5e23dbe471dfbb",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Como",
     "decimal_odds": "3.6000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T17:25:48.648Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-como-prediction-team-news-lineups_608620.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-23d1eb2cedc15a4dfbbb37c4",
   "url": "/evidence/?pick=n-23d1eb2cedc15a4dfbbb37c4",
   "quote_text": "he will have to replace captain Mattia Zaccagni, who could be ruled out until next month",
   "fragment_from": 4063,
   "fragment_to": 4151,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
    "material_removed": false
   },
   "published_at": "2026-11-06T15:25:00.000Z",
   "detected_at": "2026-11-06T16:10:40.750Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T15:25:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a8d914a7843d4247cd33cdd4",
   "url": "/evidence/?pick=n-a8d914a7843d4247cd33cdd4",
   "quote_text": "Kevin De Bruyne may be asked to go again, having scored three goals in his last five league games.",
   "fragment_from": 3804,
   "fragment_to": 3902,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
    "material_removed": false
   },
   "published_at": "2026-11-06T15:25:00.000Z",
   "detected_at": "2026-11-06T16:10:40.750Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T15:25:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-180b0b43718703e36cddb1aa",
   "url": "/evidence/?pick=n-180b0b43718703e36cddb1aa",
   "quote_text": "Alessandro Buongiorno, David Neres, Costantino Favasuli, Alisson Santos, Leonardo Spinazzola",
   "fragment_from": 3367,
   "fragment_to": 3459,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
    "material_removed": false
   },
   "published_at": "2026-11-06T15:25:00.000Z",
   "detected_at": "2026-11-06T16:10:40.750Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T15:25:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4934fe5fb50147c31a551bc0",
   "url": "/evidence/?pick=n-4934fe5fb50147c31a551bc0",
   "quote_text": "leaving their more optimistic fans dreaming of a first Scudetto since the 1999-2000 campaign.",
   "fragment_from": 2171,
   "fragment_to": 2264,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
    "material_removed": false
   },
   "published_at": "2026-11-06T15:25:00.000Z",
   "detected_at": "2026-11-06T16:10:40.750Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T15:25:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-fb55de2f657bf0e95bdbb7c7",
   "url": "/evidence/?pick=n-fb55de2f657bf0e95bdbb7c7",
   "quote_text": "recent events suggest that trend could soon end.",
   "fragment_from": 1679,
   "fragment_to": 1727,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
    "material_removed": false
   },
   "published_at": "2026-11-06T15:25:00.000Z",
   "detected_at": "2026-11-06T16:10:40.750Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T15:25:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-dda4141440f9439128ca6875",
   "url": "/evidence/?pick=n-dda4141440f9439128ca6875",
   "quote_text": "their southern rivals have posted nine wins from 10 and are yet to taste defeat in the league.",
   "fragment_from": 534,
   "fragment_to": 628,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
    "material_removed": false
   },
   "published_at": "2026-11-06T15:25:00.000Z",
   "detected_at": "2026-11-06T16:10:40.750Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T15:25:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-391c402c9e80b36a5b92e35b",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-391c402c9e80b36a5b92e35b",
   "quote_text": "We say: Napoli 1-2 Lazio",
   "fragment_from": 4652,
   "fragment_to": 4676,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
    "material_removed": false
   },
   "published_at": "2026-11-06T15:25:00.000Z",
   "detected_at": "2026-11-06T16:10:40.750Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-7f9ef8fbb17b",
    "display_name": "SSC Napoli — Lazio",
    "competition_name": "Serie A",
    "starts_at": "2026-11-08T11:30:00.000Z",
    "url": "/football/matches/ssc-napoli-vs-lazio-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Correct score",
   "outcome_label": "SSC Napoli 1-2 Lazio",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T15:25:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "SSC Napoli 1-2 Lazio",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: SSC Napoli 1-2 Lazio"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 11:30 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 11:30 UTC."
   },
   "settlements": [
    {
     "operation_id": "9f774a5dae4df175206dc898fbdda95245e8e65af012d550f4d6a436c8b11ebf",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Lazio",
     "decimal_odds": "3.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T16:14:56.621Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-cc34eec3e750572e364bccc7",
   "url": "/evidence/?pick=n-cc34eec3e750572e364bccc7",
   "quote_text": "The hosts must make do without injured trio Fabiano Parisi, Arthur Atta and Marin Pongracic",
   "fragment_from": 3989,
   "fragment_to": 4080,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-juventus-prediction-team-news-lineups_608565.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6455813b60c839361cd39f8f7067cac1c5b9a37dba8af6d9746b8d670d7216cb",
    "material_removed": false
   },
   "published_at": "2026-11-06T09:07:24.000Z",
   "detected_at": "2026-11-06T10:10:23.260Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T09:07:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T09:07:24.000Z",
    "detected_at": "2026-11-06T10:10:23.260Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-31e3389475ec0ae9d7f0f5c2",
   "url": "/evidence/?pick=n-31e3389475ec0ae9d7f0f5c2",
   "quote_text": "Kenan Yildiz, Khephren Thuram, Francisco Conceicao, Kamil Grabara, Zeki Celik, Nico Gonzalez and captain",
   "fragment_from": 3350,
   "fragment_to": 3454,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-juventus-prediction-team-news-lineups_608565.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6455813b60c839361cd39f8f7067cac1c5b9a37dba8af6d9746b8d670d7216cb",
    "material_removed": false
   },
   "published_at": "2026-11-06T09:07:24.000Z",
   "detected_at": "2026-11-06T10:10:23.260Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T09:07:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T09:07:24.000Z",
    "detected_at": "2026-11-06T10:10:23.260Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3d6b5042c105b431d179b409",
   "url": "/evidence/?pick=n-3d6b5042c105b431d179b409",
   "quote_text": "Both teams have been too inconsistent to match their pre-season aims, making the outcome on Sunday night quite tough to predict.",
   "fragment_from": 4606,
   "fragment_to": 4734,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-juventus-prediction-team-news-lineups_608565.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6455813b60c839361cd39f8f7067cac1c5b9a37dba8af6d9746b8d670d7216cb",
    "material_removed": false
   },
   "published_at": "2026-11-06T09:07:24.000Z",
   "detected_at": "2026-11-06T10:10:23.260Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T09:07:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T09:07:24.000Z",
    "detected_at": "2026-11-06T10:10:23.260Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-899d535e11191854cccd9f45",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-899d535e11191854cccd9f45",
   "quote_text": "We say: Fiorentina 1-2 Juventus",
   "fragment_from": 4573,
   "fragment_to": 4604,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-juventus-prediction-team-news-lineups_608565.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6455813b60c839361cd39f8f7067cac1c5b9a37dba8af6d9746b8d670d7216cb",
    "material_removed": false
   },
   "published_at": "2026-11-06T09:07:24.000Z",
   "detected_at": "2026-11-06T10:10:23.260Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-12ced2b8a607",
    "display_name": "Fiorentina — Juventus",
    "competition_name": "Serie A",
    "starts_at": "2026-11-08T19:45:00.000Z",
    "url": "/football/matches/fiorentina-vs-juventus-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Correct score",
   "outcome_label": "Fiorentina 1-2 Juventus",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T09:07:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T09:07:24.000Z",
    "detected_at": "2026-11-06T10:10:23.260Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Fiorentina 1-2 Juventus",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Fiorentina 1-2 Juventus"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 19:45 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 19:45 UTC."
   },
   "settlements": [
    {
     "operation_id": "e62a47959cdb6d9fa49beb53d018d92529f438f4e2e633fa999edda49014f0f7",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Juventus",
     "decimal_odds": "2.0500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T20:18:30.213Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-juventus-prediction-team-news-lineups_608565.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-273d2a3f4a9b8848f238c88e",
   "url": "/evidence/?pick=n-273d2a3f4a9b8848f238c88e",
   "quote_text": "Joel Monteiro injured his left calf against Genoa; Medon Berisha, Santiago Pierotti and Ivan Ilic are still sidelined.",
   "fragment_from": 3245,
   "fragment_to": 3363,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-lecce-prediction-team-news-lineups_608492.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1dd67d0a611e4ca0c2a6313637bba90d30ade2df928a9c8dab16c11413489695",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:12:00.000Z",
   "detected_at": "2026-11-06T07:10:14.899Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:12:00.000Z",
    "detected_at": "2026-11-06T07:10:14.899Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d6744b21edd837fdfb1f81cf",
   "url": "/evidence/?pick=n-d6744b21edd837fdfb1f81cf",
   "quote_text": "Torino will again be without Alessio Cacciamani, who recently dislocated his shoulder",
   "fragment_from": 2427,
   "fragment_to": 2512,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-lecce-prediction-team-news-lineups_608492.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1dd67d0a611e4ca0c2a6313637bba90d30ade2df928a9c8dab16c11413489695",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:12:00.000Z",
   "detected_at": "2026-11-06T07:10:14.899Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:12:00.000Z",
    "detected_at": "2026-11-06T07:10:14.899Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5c7a0390e5e03e90c31fd657",
   "url": "/evidence/?pick=n-5c7a0390e5e03e90c31fd657",
   "quote_text": "their last league clean sheet at Stadio Olimpico Grande dates all the way back to early March.",
   "fragment_from": 1163,
   "fragment_to": 1257,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-lecce-prediction-team-news-lineups_608492.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1dd67d0a611e4ca0c2a6313637bba90d30ade2df928a9c8dab16c11413489695",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:12:00.000Z",
   "detected_at": "2026-11-06T07:10:14.899Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:12:00.000Z",
    "detected_at": "2026-11-06T07:10:14.899Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-54e4a445a96148c3089025e2",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-54e4a445a96148c3089025e2",
   "quote_text": "We say: Torino 2-1 Lecce",
   "fragment_from": 3738,
   "fragment_to": 3762,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-lecce-prediction-team-news-lineups_608492.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1dd67d0a611e4ca0c2a6313637bba90d30ade2df928a9c8dab16c11413489695",
    "material_removed": false
   },
   "published_at": "2026-11-05T15:12:00.000Z",
   "detected_at": "2026-11-06T07:10:14.899Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-875762aa77d4",
    "display_name": "Torino — Lecce",
    "competition_name": "Serie A",
    "starts_at": "2026-11-07T14:00:00.000Z",
    "url": "/football/matches/torino-vs-lecce-2026-11-07/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Torino 2-1 Lecce",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-05T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T15:12:00.000Z",
    "detected_at": "2026-11-06T07:10:14.899Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Torino 2-1 Lecce",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Torino 2-1 Lecce"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Torino 1-1 Lecce."
   },
   "settlements": [
    {
     "operation_id": "01e216b3cccbf91dc5eea7ef4deaa868d9495389de1a6b019ef3f6419fb26039",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Torino",
     "decimal_odds": "1.8000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-06T07:11:30.834Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-lecce-prediction-team-news-lineups_608492.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-cf80fe110b7a9998d301f273",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-cf80fe110b7a9998d301f273",
   "quote_text": "We say: Roma 3-1 Sassuolo",
   "fragment_from": 4527,
   "fragment_to": 4552,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-sassuolo-prediction-team-news-lineups_608516.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "83b56976617c52e6bb62a9c0e0a0cab33a3d9f71bb8608bac2a3711ccb3e739f",
    "material_removed": false
   },
   "published_at": "2026-11-05T18:38:27.000Z",
   "detected_at": "2026-11-05T19:11:03.678Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-3299a002210a",
    "display_name": "AS Roma — Sassuolo",
    "competition_name": "Serie A",
    "starts_at": "2026-11-07T19:45:00.000Z",
    "url": "/football/matches/as-roma-vs-sassuolo-2026-11-07/",
    "scoreline": null,
    "condition": "no_result"
   },
   "market_label": "Correct score",
   "outcome_label": "AS Roma 3-1 Sassuolo",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-05T18:38:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T18:38:27.000Z",
    "detected_at": "2026-11-05T19:11:03.678Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "AS Roma 3-1 Sassuolo",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: AS Roma 3-1 Sassuolo"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting the final score",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting the final score."
   },
   "settlements": [
    {
     "operation_id": "3684aae1440d87f9d68eb50893ae046fdc221af72653753907710256cf870c4e",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "AS Roma",
     "decimal_odds": "1.3000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-05T19:25:41.148Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-sassuolo-prediction-team-news-lineups_608516.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-dab6a1f4d01a132f15b16aa2",
   "url": "/evidence/?pick=n-dab6a1f4d01a132f15b16aa2",
   "quote_text": "Parma possible starting lineup:\n\nDaffara; Delprato, Troilo, Ndiaye; Britschgi, Fabbian, Sierro, Keita, Valeri; Lontani, Toure",
   "fragment_from": 3441,
   "fragment_to": 3566,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-bologna-prediction-team-news-lineups_608506.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "348f3071c0ba2f67d4e3a1b0a6fa059943293b7db2b6dbc0eda22b1ca1725d23",
    "material_removed": false
   },
   "published_at": "2026-11-05T16:44:24.000Z",
   "detected_at": "2026-11-05T17:10:08.826Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T16:44:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T16:44:24.000Z",
    "detected_at": "2026-11-05T17:10:08.826Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-039ebfd34e53f8a30fc423e1",
   "url": "/evidence/?pick=n-039ebfd34e53f8a30fc423e1",
   "quote_text": "The hosts will be without two potential starters on Saturday, as injury-prone midfielder Adrian Bernabe has suffered a thigh strain",
   "fragment_from": 2484,
   "fragment_to": 2615,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-bologna-prediction-team-news-lineups_608506.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "348f3071c0ba2f67d4e3a1b0a6fa059943293b7db2b6dbc0eda22b1ca1725d23",
    "material_removed": false
   },
   "published_at": "2026-11-05T16:44:24.000Z",
   "detected_at": "2026-11-05T17:10:08.826Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T16:44:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T16:44:24.000Z",
    "detected_at": "2026-11-05T17:10:08.826Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-cc457b19d8a3582799736334",
   "url": "/evidence/?pick=n-cc457b19d8a3582799736334",
   "quote_text": "One of Serie A's form sides, Bologna will aim to extend their success streak",
   "fragment_from": 260,
   "fragment_to": 336,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-bologna-prediction-team-news-lineups_608506.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "348f3071c0ba2f67d4e3a1b0a6fa059943293b7db2b6dbc0eda22b1ca1725d23",
    "material_removed": false
   },
   "published_at": "2026-11-05T16:44:24.000Z",
   "detected_at": "2026-11-05T17:10:08.826Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T16:44:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T16:44:24.000Z",
    "detected_at": "2026-11-05T17:10:08.826Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-641b6f75cbf2e9fe215a3b6a",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-641b6f75cbf2e9fe215a3b6a",
   "quote_text": "We say: Parma 0-2 Bologna",
   "fragment_from": 3708,
   "fragment_to": 3733,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-bologna-prediction-team-news-lineups_608506.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "348f3071c0ba2f67d4e3a1b0a6fa059943293b7db2b6dbc0eda22b1ca1725d23",
    "material_removed": false
   },
   "published_at": "2026-11-05T16:44:24.000Z",
   "detected_at": "2026-11-05T17:10:08.826Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-ac3eac283d4a",
    "display_name": "Parma — Bologna",
    "competition_name": "Serie A",
    "starts_at": "2026-11-07T17:00:00.000Z",
    "url": "/football/matches/parma-vs-bologna-2026-11-07/",
    "scoreline": null,
    "condition": "no_result"
   },
   "market_label": "Correct score",
   "outcome_label": "Parma 0-2 Bologna",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-05T16:44:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T16:44:24.000Z",
    "detected_at": "2026-11-05T17:10:08.826Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Parma 0-2 Bologna",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Parma 0-2 Bologna"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "awaiting the final score",
    "methodology_version": "2.2",
    "in_words": "Pending: awaiting the final score."
   },
   "settlements": [
    {
     "operation_id": "dd851cea9856c0520c179f63951ff9e7dc6ffb52ddfce062316205fab03a17e0",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Bologna",
     "decimal_odds": "1.8300",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "unknown",
     "result_words": "Pending",
     "change_hundredths": null,
     "executed_at": "2026-11-05T17:13:05.102Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-bologna-prediction-team-news-lineups_608506.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a3807d52c023fd31efd30260",
   "url": "/evidence/?pick=n-a3807d52c023fd31efd30260",
   "quote_text": "the visitors will be without Alessandro Zanoli, David Alaba and Idrissa Gueye",
   "fragment_from": 3450,
   "fragment_to": 3527,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/news/venezia-vs-udinese-prediction-team-news-lineups_608391.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c520a9a9d2a606b139745e77db835700344e6874160818f6c2fbad1a7591474a",
    "material_removed": false
   },
   "published_at": "2026-11-04T15:04:00.000Z",
   "detected_at": "2026-11-04T16:09:59.859Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T15:04:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T15:04:00.000Z",
    "detected_at": "2026-11-04T16:09:59.859Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-83a68e0a03c38b5cfbc9b72b",
   "url": "/evidence/?pick=n-83a68e0a03c38b5cfbc9b72b",
   "quote_text": "Marin Sverko, Bartol Franjic and Andrea Adorante are still ruled out for Venezia",
   "fragment_from": 2602,
   "fragment_to": 2682,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/news/venezia-vs-udinese-prediction-team-news-lineups_608391.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c520a9a9d2a606b139745e77db835700344e6874160818f6c2fbad1a7591474a",
    "material_removed": false
   },
   "published_at": "2026-11-04T15:04:00.000Z",
   "detected_at": "2026-11-04T16:09:59.859Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-04T15:04:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T15:04:00.000Z",
    "detected_at": "2026-11-04T16:09:59.859Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-bd956e2d5c6681e9625bddb6",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-bd956e2d5c6681e9625bddb6",
   "quote_text": "We say: Venezia 1-2 Udinese",
   "fragment_from": 3880,
   "fragment_to": 3907,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/news/venezia-vs-udinese-prediction-team-news-lineups_608391.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c520a9a9d2a606b139745e77db835700344e6874160818f6c2fbad1a7591474a",
    "material_removed": false
   },
   "published_at": "2026-11-04T15:04:00.000Z",
   "detected_at": "2026-11-04T16:09:59.859Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-840d47c82bfe",
    "display_name": "Venezia — Udinese",
    "competition_name": "Serie A",
    "starts_at": "2026-11-06T19:45:00.000Z",
    "url": "/football/matches/venezia-vs-udinese-2026-11-06/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Venezia 1-2 Udinese",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-04T15:04:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T15:04:00.000Z",
    "detected_at": "2026-11-04T16:09:59.859Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Venezia 1-2 Udinese",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Venezia 1-2 Udinese"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Venezia 2-1 Udinese."
   },
   "settlements": [
    {
     "operation_id": "b144e86b991e44830ec34941e56c8d771e1bfea14070ad910753379b7524dadd",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Udinese",
     "decimal_odds": "3.1000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-04T23:31:37.998Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/news/venezia-vs-udinese-prediction-team-news-lineups_608391.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ea27c1458f38b316893f056b",
   "url": "/evidence/?pick=n-ea27c1458f38b316893f056b",
   "quote_text": "Juventus possible starting lineup:\n\nVicario; Kalulu, Gatti, Bremer, Cambiaso; Luiz, Sarr; Kolo Muani",
   "fragment_from": 4309,
   "fragment_to": 4409,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/az/europa-league/preview/az-vs-juventus-prediction-team-news-lineups_608333.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e7feb49641d2db5c1391c5ff72c547129b3e9e8938ebfda3d33290ba35bace58",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:54:00.000Z",
   "detected_at": "2026-11-03T17:10:12.296Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T16:54:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:54:00.000Z",
    "detected_at": "2026-11-03T17:10:12.296Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-929e98ddf1edac9db923c2fd",
   "url": "/evidence/?pick=n-929e98ddf1edac9db923c2fd",
   "quote_text": "AZ Alkmaar possible starting lineup:\n\nDe Busser; Dijkstra, Goes, Hoedt, De Wit; Kwakman",
   "fragment_from": 4172,
   "fragment_to": 4259,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/az/europa-league/preview/az-vs-juventus-prediction-team-news-lineups_608333.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e7feb49641d2db5c1391c5ff72c547129b3e9e8938ebfda3d33290ba35bace58",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:54:00.000Z",
   "detected_at": "2026-11-03T17:10:12.296Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T16:54:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:54:00.000Z",
    "detected_at": "2026-11-03T17:10:12.296Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c8b4a6749c89ccb7329dcb91",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-c8b4a6749c89ccb7329dcb91",
   "quote_text": "We say: AZ Alkmaar 1-1 Juventus",
   "fragment_from": 4451,
   "fragment_to": 4482,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/az/europa-league/preview/az-vs-juventus-prediction-team-news-lineups_608333.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e7feb49641d2db5c1391c5ff72c547129b3e9e8938ebfda3d33290ba35bace58",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:54:00.000Z",
   "detected_at": "2026-11-03T17:10:12.296Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-a705d07502db",
    "display_name": "AZ Alkmaar — Juventus",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/az-alkmaar-vs-juventus-2026-11-05/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "AZ Alkmaar 1-1 Juventus",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-03T16:54:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:54:00.000Z",
    "detected_at": "2026-11-03T17:10:12.296Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "AZ Alkmaar 1-1 Juventus",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: AZ Alkmaar 1-1 Juventus"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was AZ Alkmaar 1-2 Juventus."
   },
   "settlements": [
    {
     "operation_id": "48cf1a8bd361cd14ea656ae5c6a0306b1ba50d331e71d37df0b939a014ed0b90",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.7000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-03T21:33:46.164Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/az/europa-league/preview/az-vs-juventus-prediction-team-news-lineups_608333.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-19b79cf78cc8680c4d52a266",
   "url": "/evidence/?pick=n-19b79cf78cc8680c4d52a266",
   "quote_text": "Ferencvaros possible starting lineup:\n\nRadnoti; O. Nagy, Zohore, Gomez, O'Dowda; Maiga, A. Nagy; Arzani, Zachariassen, Birmancevic; Yusuf",
   "fragment_from": 4563,
   "fragment_to": 4700,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ac-milan/europa-league/preview/ac-milan-vs-ferencvaros-prediction-team-news-lineups_608327.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20b568047e9487c1331a2b16152a22034f1dc0b10cf1810d30a3632e053c9164",
    "material_removed": false
   },
   "published_at": "2026-11-03T15:12:00.000Z",
   "detected_at": "2026-11-03T16:10:11.600Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T15:12:00.000Z",
    "detected_at": "2026-11-03T16:10:11.600Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-831f028fa7b79f22b13717a3",
   "url": "/evidence/?pick=n-831f028fa7b79f22b13717a3",
   "quote_text": "AC Milan possible starting lineup:\n\nTorriani; Gila, De Winter, Pavlovic, Bartesaghi; Hutchinson, Musah, Jashari, Cisse; Pulisic, Ramos",
   "fragment_from": 4427,
   "fragment_to": 4561,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ac-milan/europa-league/preview/ac-milan-vs-ferencvaros-prediction-team-news-lineups_608327.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20b568047e9487c1331a2b16152a22034f1dc0b10cf1810d30a3632e053c9164",
    "material_removed": false
   },
   "published_at": "2026-11-03T15:12:00.000Z",
   "detected_at": "2026-11-03T16:10:11.600Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T15:12:00.000Z",
    "detected_at": "2026-11-03T16:10:11.600Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-45bc547323625630383ab3a0",
   "url": "/evidence/?pick=n-45bc547323625630383ab3a0",
   "quote_text": "Injured quintet Fikayo Tomori, Samuel Chukwueze, Mattia Gabbia, Alexis Saelemaekers and Ruben Loftus-Cheek are still unavailable",
   "fragment_from": 3845,
   "fragment_to": 3973,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ac-milan/europa-league/preview/ac-milan-vs-ferencvaros-prediction-team-news-lineups_608327.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20b568047e9487c1331a2b16152a22034f1dc0b10cf1810d30a3632e053c9164",
    "material_removed": false
   },
   "published_at": "2026-11-03T15:12:00.000Z",
   "detected_at": "2026-11-03T16:10:11.600Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T15:12:00.000Z",
    "detected_at": "2026-11-03T16:10:11.600Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-fa9a2d8804072537e8187917",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-fa9a2d8804072537e8187917",
   "quote_text": "We say: AC Milan 2-1 Ferencvaros",
   "fragment_from": 4702,
   "fragment_to": 4734,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ac-milan/europa-league/preview/ac-milan-vs-ferencvaros-prediction-team-news-lineups_608327.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20b568047e9487c1331a2b16152a22034f1dc0b10cf1810d30a3632e053c9164",
    "material_removed": false
   },
   "published_at": "2026-11-03T15:12:00.000Z",
   "detected_at": "2026-11-03T16:10:11.600Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T15:12:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T15:12:00.000Z",
    "detected_at": "2026-11-03T16:10:11.600Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-bc07da18d3faa1fa4abf1c5a",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-bc07da18d3faa1fa4abf1c5a",
   "quote_text": "We say: Porto 2-1 Napoli",
   "fragment_from": 4846,
   "fragment_to": 4870,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/porto/champions-league/preview/porto-vs-napoli-prediction-team-news-lineups_608280.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "361c64f48c3d1a194f250811884b3aa3b0e4de16d11323d81b1dd69de084ebb9",
    "material_removed": false
   },
   "published_at": "2026-11-02T17:13:00.000Z",
   "detected_at": "2026-11-02T18:10:17.438Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-9588ca212aad",
    "display_name": "FC Porto — SSC Napoli",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-04T20:00:00.000Z",
    "url": "/football/matches/fc-porto-vs-ssc-napoli-2026-11-04/",
    "scoreline": "4-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "FC Porto 2-1 SSC Napoli",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-02T17:13:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T17:13:00.000Z",
    "detected_at": "2026-11-02T18:10:17.438Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "FC Porto 2-1 SSC Napoli",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: FC Porto 2-1 SSC Napoli"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was FC Porto 4-1 SSC Napoli."
   },
   "settlements": [
    {
     "operation_id": "ddd633f90e41669bee7af531ec0c5559db734ca75353c15009b585a5392b8bf4",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "FC Porto",
     "decimal_odds": "2.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 10000,
     "executed_at": "2026-11-02T21:15:54.854Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/porto/champions-league/preview/porto-vs-napoli-prediction-team-news-lineups_608280.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a46cce5023e9a40eab89e73f",
   "url": "/evidence/?pick=n-a46cce5023e9a40eab89e73f",
   "quote_text": "Lens will be missing several men on Wednesday, with defensive duo Ismaelo Ganiou and Maik Nawrocki",
   "fragment_from": 3280,
   "fragment_to": 3378,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lens/champions-league/preview/lens-vs-como-prediction-team-news-lineups_608269.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20bdd8879e75a396b9cc395bdfd9c630bbd5cfbcf66a1d15af5539f18c3c1f45",
    "material_removed": false
   },
   "published_at": "2026-11-02T15:38:00.000Z",
   "detected_at": "2026-11-02T16:10:33.091Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T15:38:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T15:38:00.000Z",
    "detected_at": "2026-11-02T16:10:33.091Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-940f7683d2f63f1bb383c9e6",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-940f7683d2f63f1bb383c9e6",
   "quote_text": "We say: Lens 1-2 Como",
   "fragment_from": 4560,
   "fragment_to": 4581,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lens/champions-league/preview/lens-vs-como-prediction-team-news-lineups_608269.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "20bdd8879e75a396b9cc395bdfd9c630bbd5cfbcf66a1d15af5539f18c3c1f45",
    "material_removed": false
   },
   "published_at": "2026-11-02T15:38:00.000Z",
   "detected_at": "2026-11-02T16:10:33.091Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-c6123553f451",
    "display_name": "RC Lens — Como",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-04T20:00:00.000Z",
    "url": "/football/matches/rc-lens-vs-como-2026-11-04/",
    "scoreline": "1-9",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "RC Lens 1-2 Como",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-02T15:38:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T15:38:00.000Z",
    "detected_at": "2026-11-02T16:10:33.091Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "RC Lens 1-2 Como",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: RC Lens 1-2 Como"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-9",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was RC Lens 1-9 Como."
   },
   "settlements": [
    {
     "operation_id": "9aa9b4aed4774ecd3c7ce74975b2944021a25d07417a460d7b957105242f2476",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Como",
     "decimal_odds": "2.1600",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 11600,
     "executed_at": "2026-11-03T04:09:18.144Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/lens/champions-league/preview/lens-vs-como-prediction-team-news-lineups_608269.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7c6e65eefe5ddae3d5d4f100",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-7c6e65eefe5ddae3d5d4f100",
   "quote_text": "We say: Feyenoord 2-2 Inter Milan",
   "fragment_from": 5505,
   "fragment_to": 5538,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/feyenoord/champions-league/preview/feyenoord-vs-inter-milan-prediction-team-news-lineups_608200.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ede8df4432ec024811051dcc537b4ec6e50e12ed85a6ba16eaa9e85f14612f91",
    "material_removed": false
   },
   "published_at": "2026-11-01T13:50:00.000Z",
   "detected_at": "2026-11-01T14:10:24.792Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-c7d02fec7631",
    "display_name": "Feyenoord — Inter",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-03T20:00:00.000Z",
    "url": "/football/matches/feyenoord-vs-inter-2026-11-03/",
    "scoreline": "0-3",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Feyenoord 2-2 Inter",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-01T13:50:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T13:50:00.000Z",
    "detected_at": "2026-11-01T14:10:24.792Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Feyenoord 2-2 Inter",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Feyenoord 2-2 Inter"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-3",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Feyenoord 0-3 Inter."
   },
   "settlements": [
    {
     "operation_id": "698a41cd87d05d331548966cad32b87e1c185eb272a3cea9f700fc10f1a7babb",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "4.2000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T19:22:25.290Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/feyenoord/champions-league/preview/feyenoord-vs-inter-milan-prediction-team-news-lineups_608200.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-9e6ae4312dacdb311b397f44",
   "url": "/evidence/?pick=n-9e6ae4312dacdb311b397f44",
   "quote_text": "Aside from injured pair George Bello and Ramiz Harakate, LASK boss Kuhbauer should have a full squad available",
   "fragment_from": 3615,
   "fragment_to": 3725,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lask-linz/champions-league/preview/lask-vs-slovan-bratislava-prediction-team-news-lineups_608194.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0548f7d3c793b5e72baaae6f7509fb2cffd6b2e4808d5e664e719eb35b03c0d8",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:10:00.000Z",
   "detected_at": "2026-11-01T13:10:38.863Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:10:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:10:00.000Z",
    "detected_at": "2026-11-01T13:10:38.863Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a406bdac3ef4f61099228d46",
   "url": "/evidence/?pick=n-a406bdac3ef4f61099228d46",
   "quote_text": "there are few reasons to hope such a streak can now end.",
   "fragment_from": 2098,
   "fragment_to": 2154,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lask-linz/champions-league/preview/lask-vs-slovan-bratislava-prediction-team-news-lineups_608194.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0548f7d3c793b5e72baaae6f7509fb2cffd6b2e4808d5e664e719eb35b03c0d8",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:10:00.000Z",
   "detected_at": "2026-11-01T13:10:38.863Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:10:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:10:00.000Z",
    "detected_at": "2026-11-01T13:10:38.863Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-384a099065825ea8b19adcf1",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-384a099065825ea8b19adcf1",
   "quote_text": "We say: LASK Linz 3-2 Slovan Bratislava",
   "fragment_from": 4978,
   "fragment_to": 5017,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lask-linz/champions-league/preview/lask-vs-slovan-bratislava-prediction-team-news-lineups_608194.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0548f7d3c793b5e72baaae6f7509fb2cffd6b2e4808d5e664e719eb35b03c0d8",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:10:00.000Z",
   "detected_at": "2026-11-01T13:10:38.863Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:10:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:10:00.000Z",
    "detected_at": "2026-11-01T13:10:38.863Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c055a572dcaad2b6af1764ce",
   "url": "/evidence/?pick=n-c055a572dcaad2b6af1764ce",
   "quote_text": "Allegri must also watch on from the stands, as he serves the second game of a two-match touchline ban",
   "fragment_from": 4515,
   "fragment_to": 4616,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:16:00.000Z",
   "detected_at": "2026-10-30T22:10:58.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,
   "dates": {
    "fragment_at": "2026-10-30T16:16:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-baf9b085ffea0a1811149650",
   "url": "/evidence/?pick=n-baf9b085ffea0a1811149650",
   "quote_text": "Alessandro Buongiorno, David Neres, Costantino Favasuli, Alisson Santos, Leonardo Spinazzola and Benoit",
   "fragment_from": 4314,
   "fragment_to": 4417,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:16:00.000Z",
   "detected_at": "2026-10-30T22:10:58.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,
   "dates": {
    "fragment_at": "2026-10-30T16:16:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-bf549566d626d85704a0dc32",
   "url": "/evidence/?pick=n-bf549566d626d85704a0dc32",
   "quote_text": "Kevin De Bruyne has finally found his shooting boots, moving onto four Serie A strikes for the season",
   "fragment_from": 3982,
   "fragment_to": 4083,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:16:00.000Z",
   "detected_at": "2026-10-30T22:10:58.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,
   "dates": {
    "fragment_at": "2026-10-30T16:16:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e219176d2e25981b58665219",
   "url": "/evidence/?pick=n-e219176d2e25981b58665219",
   "quote_text": "Zeki Celik and Nico Gonzalez were the most recent entrants to a packed treatment room",
   "fragment_from": 3430,
   "fragment_to": 3515,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:16:00.000Z",
   "detected_at": "2026-10-30T22:10:58.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,
   "dates": {
    "fragment_at": "2026-10-30T16:16:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5cc6a1ffa2aa4d2fb6940ae4",
   "url": "/evidence/?pick=n-5cc6a1ffa2aa4d2fb6940ae4",
   "quote_text": "the Turin giants have scored fewer goals than more modest clubs such as Sassuolo, Bologna and Monza",
   "fragment_from": 1316,
   "fragment_to": 1415,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:16:00.000Z",
   "detected_at": "2026-10-30T22:10:58.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,
   "dates": {
    "fragment_at": "2026-10-30T16:16:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d3ace12ecf628197ef8a978c",
   "url": "/evidence/?pick=n-d3ace12ecf628197ef8a978c",
   "quote_text": "Despite dominating the ball, Luciano Spalletti's injury-hit side were ultimately unable to score",
   "fragment_from": 913,
   "fragment_to": 1009,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:16:00.000Z",
   "detected_at": "2026-10-30T22:10:58.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,
   "dates": {
    "fragment_at": "2026-10-30T16:16:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4154b1574f420222bfcf0bb0",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-4154b1574f420222bfcf0bb0",
   "quote_text": "We say: Juventus 1-2 Napoli",
   "fragment_from": 4938,
   "fragment_to": 4965,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:16:00.000Z",
   "detected_at": "2026-10-30T22:10:58.470Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-b380ecd591fd",
    "display_name": "Juventus — SSC Napoli",
    "competition_name": "Serie A",
    "starts_at": "2026-11-01T19:45:00.000Z",
    "url": "/football/matches/juventus-vs-ssc-napoli-2026-11-01/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Juventus 1-2 SSC Napoli",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-30T16:16:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Juventus 1-2 SSC Napoli",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Juventus 1-2 SSC Napoli"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Juventus 2-0 SSC Napoli."
   },
   "settlements": [
    {
     "operation_id": "5542a5fa4b6c789f5afedbf44192ee5237ff91487922f157be79753d4d32de88",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "SSC Napoli",
     "decimal_odds": "3.2000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-01T11:41:36.746Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-862a79404aa90e0dbeae9786",
   "url": "/evidence/?pick=n-862a79404aa90e0dbeae9786",
   "quote_text": "Harry Winks was withdrawn during the recent defeat to Bologna and is still struggling with a back",
   "fragment_from": 3476,
   "fragment_to": 3573,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-cagliari-prediction-team-news-lineups_608091.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1de35358f28dcea4eaa3009c3904a48806cbfb4ecf6a7da5408db765f30921ec",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:50:29.000Z",
   "detected_at": "2026-10-30T17:10:28.037Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T16:50:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:50:29.000Z",
    "detected_at": "2026-10-30T17:10:28.037Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2f1be7226966ba55b99dba1e",
   "url": "/evidence/?pick=n-2f1be7226966ba55b99dba1e",
   "quote_text": "Adam Marusic and Nicolo Rovella are both back from injury",
   "fragment_from": 2811,
   "fragment_to": 2868,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-cagliari-prediction-team-news-lineups_608091.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1de35358f28dcea4eaa3009c3904a48806cbfb4ecf6a7da5408db765f30921ec",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:50:29.000Z",
   "detected_at": "2026-10-30T17:10:28.037Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T16:50:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:50:29.000Z",
    "detected_at": "2026-10-30T17:10:28.037Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b867a100044b339ea830dacd",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-b867a100044b339ea830dacd",
   "quote_text": "We say: Lazio 3-1 Cagliari",
   "fragment_from": 4026,
   "fragment_to": 4052,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-cagliari-prediction-team-news-lineups_608091.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1de35358f28dcea4eaa3009c3904a48806cbfb4ecf6a7da5408db765f30921ec",
    "material_removed": false
   },
   "published_at": "2026-10-30T16:50:29.000Z",
   "detected_at": "2026-10-30T17:10:28.037Z",
   "executed_at": "2026-11-01T11:16:55.664Z",
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-440b743ba853",
    "display_name": "Lazio — Cagliari",
    "competition_name": "Serie A",
    "starts_at": "2026-11-01T14:00:00.000Z",
    "url": "/football/matches/lazio-vs-cagliari-2026-11-01/",
    "scoreline": "2-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Lazio 3-1 Cagliari",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "11.5000",
    "our_snapshot_at": "2026-10-30T17:09:32.146Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-30T16:50:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T16:50:29.000Z",
    "detected_at": "2026-10-30T17:10:28.037Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Lazio 3-1 Cagliari",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Lazio 3-1 Cagliari"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Lazio 2-1 Cagliari."
   },
   "settlements": [
    {
     "operation_id": "b95262f193afe2345690b09dcf3f5f759be0079e7e2599a18d3aa6a6b699c815",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Lazio 3-1 Cagliari",
     "decimal_odds": "11.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-01T11:16:55.664Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "217369ce4d24c78f75f5749f61ba6b3f378bd592cb2a906527433226655dea8c",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Lazio",
     "decimal_odds": "1.4400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4400,
     "executed_at": "2026-11-01T11:16:57.054Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-cagliari-prediction-team-news-lineups_608091.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3810f13ab50ec80a10b6323d",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-3810f13ab50ec80a10b6323d",
   "quote_text": "We say: Frosinone 2-2 Torino",
   "fragment_from": 3904,
   "fragment_to": 3932,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-torino-prediction-team-news-lineups_608066.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "59926d1800224681eb35c9bac1355d8de2b267d1ed63b95ed9bd51827b158414",
    "material_removed": false
   },
   "published_at": "2026-10-30T12:23:00.000Z",
   "detected_at": "2026-10-30T13:10:41.071Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-665aa0e695c8",
    "display_name": "Frosinone — Torino",
    "competition_name": "Serie A",
    "starts_at": "2026-11-01T14:00:00.000Z",
    "url": "/football/matches/frosinone-vs-torino-2026-11-01/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Frosinone 2-2 Torino",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-30T12:23:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T12:23:00.000Z",
    "detected_at": "2026-10-30T13:10:41.071Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Frosinone 2-2 Torino",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Frosinone 2-2 Torino"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Frosinone 2-0 Torino."
   },
   "settlements": [
    {
     "operation_id": "81a47f5d323eb006f2964beb362bfeabb3dc5e641cf2b5c575d64869006145c2",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.8000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-01T11:32:15.994Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-torino-prediction-team-news-lineups_608066.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-edc8f0075576e1acbe9952f8",
   "url": "/evidence/?pick=n-edc8f0075576e1acbe9952f8",
   "quote_text": "Moise Kean has been ruled out until December following specialist treatment for a persistent shin problem.",
   "fragment_from": 3324,
   "fragment_to": 3430,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-venezia-prediction-team-news-lineups_608051.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c9633ad1eb9b7aa7d6d8bee26b2481938a4d09db26c4fafa0d73571516ab773",
    "material_removed": false
   },
   "published_at": "2026-10-30T10:50:00.000Z",
   "detected_at": "2026-10-30T11:10:23.148Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T10:50:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T10:50:00.000Z",
    "detected_at": "2026-10-30T11:10:23.148Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-cadb39b96037fe2a67747182",
   "url": "/evidence/?pick=n-cadb39b96037fe2a67747182",
   "quote_text": "he cannot call upon Trevoh Chalobah, Jesus Rodriguez and Assane Diao due to injury",
   "fragment_from": 3089,
   "fragment_to": 3171,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-venezia-prediction-team-news-lineups_608051.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c9633ad1eb9b7aa7d6d8bee26b2481938a4d09db26c4fafa0d73571516ab773",
    "material_removed": false
   },
   "published_at": "2026-10-30T10:50:00.000Z",
   "detected_at": "2026-10-30T11:10:23.148Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T10:50:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T10:50:00.000Z",
    "detected_at": "2026-10-30T11:10:23.148Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-5f776f4ece9cb029cbee0108",
   "url": "/evidence/?pick=n-5f776f4ece9cb029cbee0108",
   "quote_text": "Fabregas and co may even be entering the Scudetto race.",
   "fragment_from": 1601,
   "fragment_to": 1656,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-venezia-prediction-team-news-lineups_608051.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c9633ad1eb9b7aa7d6d8bee26b2481938a4d09db26c4fafa0d73571516ab773",
    "material_removed": false
   },
   "published_at": "2026-10-30T10:50:00.000Z",
   "detected_at": "2026-10-30T11:10:23.148Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-30T10:50:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T10:50:00.000Z",
    "detected_at": "2026-10-30T11:10:23.148Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3b7a89a0bd282a450708ba2e",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-3b7a89a0bd282a450708ba2e",
   "quote_text": "We say: Como 3-0 Venezia",
   "fragment_from": 4119,
   "fragment_to": 4143,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-venezia-prediction-team-news-lineups_608051.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0c9633ad1eb9b7aa7d6d8bee26b2481938a4d09db26c4fafa0d73571516ab773",
    "material_removed": false
   },
   "published_at": "2026-10-30T10:50:00.000Z",
   "detected_at": "2026-10-30T11:10:23.148Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-28e6ee004c9a",
    "display_name": "Como — Venezia",
    "competition_name": "Serie A",
    "starts_at": "2026-11-01T11:30:00.000Z",
    "url": "/football/matches/como-vs-venezia-2026-11-01/",
    "scoreline": "1-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Como 3-0 Venezia",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-30T10:50:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T10:50:00.000Z",
    "detected_at": "2026-10-30T11:10:23.148Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Como 3-0 Venezia",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "3-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Como 3-0 Venezia"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Como 1-0 Venezia."
   },
   "settlements": [
    {
     "operation_id": "90ad699ab3a7bf72cff8d13e8940f61f847a5b777bd9611b128476a87f3420bd",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Como",
     "decimal_odds": "1.2985",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 2985,
     "executed_at": "2026-10-31T18:57:32.005Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-venezia-prediction-team-news-lineups_608051.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-390c9c20a5067674dc1a661b",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-390c9c20a5067674dc1a661b",
   "quote_text": "We say: AC Milan 1-1 Inter Milan",
   "fragment_from": 5903,
   "fragment_to": 5935,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ac-milan/milan-derby/preview/ac-milan-vs-inter-milan-prediction-team-news-lineups_608015.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "aa9bf922e6f5c26ab5f7864deef98cc899c39a85aec306f1103ad54e5e2c6484",
    "material_removed": false
   },
   "published_at": "2026-10-29T22:00:00.000Z",
   "detected_at": "2026-10-29T23:10:09.999Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-baa51e710664",
    "display_name": "AC Milan — Inter",
    "competition_name": "Serie A",
    "starts_at": "2026-10-31T19:45:00.000Z",
    "url": "/football/matches/ac-milan-vs-inter-2026-10-31/",
    "scoreline": "3-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "AC Milan 1-1 Inter",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-29T22:00:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T22:00:00.000Z",
    "detected_at": "2026-10-29T23:10:09.999Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "AC Milan 1-1 Inter",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: AC Milan 1-1 Inter"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was AC Milan 3-1 Inter."
   },
   "settlements": [
    {
     "operation_id": "6a2fe948b9b28218208406a3d7c539dc562ad5bd9f2ed5d740a0a19c64bb9539",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "draw",
     "decimal_odds": "3.7000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-31T18:54:10.989Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/ac-milan/milan-derby/preview/ac-milan-vs-inter-milan-prediction-team-news-lineups_608015.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-d8a4e23444f44bb758a990cc",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-d8a4e23444f44bb758a990cc",
   "quote_text": "We say: Fiorentina 2-1 Atalanta BC",
   "fragment_from": 4509,
   "fragment_to": 4543,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-atalanta-prediction-team-news-lineups_607817.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ab1c572085f7c3f40c2eb13f10f773f27b1b3a309e8b269f0de83573143accc",
    "material_removed": false
   },
   "published_at": "2026-10-27T15:27:28.000Z",
   "detected_at": "2026-10-27T16:10:07.054Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-cc3f55930382",
    "display_name": "Fiorentina — Atalanta",
    "competition_name": "Serie A",
    "starts_at": "2026-10-29T19:45:00.000Z",
    "url": "/football/matches/fiorentina-vs-atalanta-2026-10-29/",
    "scoreline": "2-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Fiorentina 2-1 Atalanta",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-27T15:27:28.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T15:27:28.000Z",
    "detected_at": "2026-10-27T16:10:07.054Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Fiorentina 2-1 Atalanta",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Fiorentina 2-1 Atalanta"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Fiorentina 2-2 Atalanta."
   },
   "settlements": [
    {
     "operation_id": "8a4a2a4be9b4584390bfbed38c4cafc681d780feeafc716b6cebedc5af04512b",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Fiorentina",
     "decimal_odds": "2.1500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-29T14:47:46.080Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-atalanta-prediction-team-news-lineups_607817.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ba38b2d868330a8cb48c3556",
   "url": "/evidence/?pick=n-ba38b2d868330a8cb48c3556",
   "quote_text": "Santiago Pierotti recently fractured an ankle, joining midfield trio Lassana Coulibaly, Ivan Ilic and Medon Berisha on the sidelines.",
   "fragment_from": 3687,
   "fragment_to": 3820,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-lecce-prediction-team-news-lineups_607792.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fb54a17b6f3d88bcb3db046cb35dd10d30164ce0a95d3b1ebfa7f3748cc80265",
    "material_removed": false
   },
   "published_at": "2026-10-27T08:36:20.000Z",
   "detected_at": "2026-10-27T09:10:10.333Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-27T08:36:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T08:36:20.000Z",
    "detected_at": "2026-10-27T09:10:10.333Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ce075a978ba9014b0d90adc0",
   "url": "/evidence/?pick=n-ce075a978ba9014b0d90adc0",
   "quote_text": "the visitors will travel without Kialonda Gaspar, who was sent off at the end of Sunday’s defeat to Juventus",
   "fragment_from": 3342,
   "fragment_to": 3450,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-lecce-prediction-team-news-lineups_607792.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fb54a17b6f3d88bcb3db046cb35dd10d30164ce0a95d3b1ebfa7f3748cc80265",
    "material_removed": false
   },
   "published_at": "2026-10-27T08:36:20.000Z",
   "detected_at": "2026-10-27T09:10:10.333Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-27T08:36:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T08:36:20.000Z",
    "detected_at": "2026-10-27T09:10:10.333Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2ec98b29bc29ac88e08e82f7",
   "url": "/evidence/?pick=n-2ec98b29bc29ac88e08e82f7",
   "quote_text": "only Florian Grillitsch is definitely ruled out of Thursday’s game.",
   "fragment_from": 2976,
   "fragment_to": 3043,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-lecce-prediction-team-news-lineups_607792.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fb54a17b6f3d88bcb3db046cb35dd10d30164ce0a95d3b1ebfa7f3748cc80265",
    "material_removed": false
   },
   "published_at": "2026-10-27T08:36:20.000Z",
   "detected_at": "2026-10-27T09:10:10.333Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-27T08:36:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T08:36:20.000Z",
    "detected_at": "2026-10-27T09:10:10.333Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-58e54afe4996bbaa8aa591c1",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-58e54afe4996bbaa8aa591c1",
   "quote_text": "We say: Frosinone 2-1 Lecce",
   "fragment_from": 4082,
   "fragment_to": 4109,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-lecce-prediction-team-news-lineups_607792.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fb54a17b6f3d88bcb3db046cb35dd10d30164ce0a95d3b1ebfa7f3748cc80265",
    "material_removed": false
   },
   "published_at": "2026-10-27T08:36:20.000Z",
   "detected_at": "2026-10-27T09:10:10.333Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-8a0995849f5c",
    "display_name": "Frosinone — Lecce",
    "competition_name": "Serie A",
    "starts_at": "2026-10-29T17:30:00.000Z",
    "url": "/football/matches/frosinone-vs-lecce-2026-10-29/",
    "scoreline": "5-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Frosinone 2-1 Lecce",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-27T08:36:20.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-27T08:36:20.000Z",
    "detected_at": "2026-10-27T09:10:10.333Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Frosinone 2-1 Lecce",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Frosinone 2-1 Lecce"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "5-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Frosinone 5-1 Lecce."
   },
   "settlements": [
    {
     "operation_id": "60c21c5bfbb30a2b2037e8fbb8a3b6dbc573c29057c1faf7a51bc9e8ea407e54",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Frosinone",
     "decimal_odds": "1.7000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7000,
     "executed_at": "2026-10-29T12:16:15.715Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-lecce-prediction-team-news-lineups_607792.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-187886a83c8361a61817e49e",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-187886a83c8361a61817e49e",
   "quote_text": "We say: AC Milan 1-0 Bologna",
   "fragment_from": 4136,
   "fragment_to": 4164,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/ac-milan/preview/ac-milan-vs-bologna-prediction-team-news-lineups_607749.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ffa1e3b34e964681433e0e860eb97b42481079454c27b06773657aecaeede096",
    "material_removed": false
   },
   "published_at": "2026-10-26T14:01:00.000Z",
   "detected_at": "2026-10-26T15:09:55.851Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-47b09d7cb13a",
    "display_name": "AC Milan — Bologna",
    "competition_name": "Serie A",
    "starts_at": "2026-10-28T17:30:00.000Z",
    "url": "/football/matches/ac-milan-vs-bologna-2026-10-28/",
    "scoreline": "2-4",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "AC Milan 1-0 Bologna",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-26T14:01:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T14:01:00.000Z",
    "detected_at": "2026-10-26T15:09:55.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "AC Milan 1-0 Bologna",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: AC Milan 1-0 Bologna"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-4",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was AC Milan 2-4 Bologna."
   },
   "settlements": [
    {
     "operation_id": "b0b02a752aa5190910d512ab7e283a65f568c0e437a15f3ea24a96310bef0ee3",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "AC Milan",
     "decimal_odds": "1.6200",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-28T02:28:02.699Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/ac-milan/preview/ac-milan-vs-bologna-prediction-team-news-lineups_607749.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-54915a6cf578bad6575a0673",
   "url": "/evidence/?pick=n-54915a6cf578bad6575a0673",
   "quote_text": "Inter Milan possible starting lineup:\n\nJ. Martinez; Bisseck, Akanji, Augusto; Spence, Sucic, ",
   "fragment_from": 3784,
   "fragment_to": 3877,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "587d59431ac0b58a61588bb44ffe3bdb396be0d9bbfd494d49f8697b00e311d0",
    "material_removed": false
   },
   "published_at": "2026-10-26T12:11:00.000Z",
   "detected_at": "2026-10-26T14:10:02.656Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T12:11:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T12:11:00.000Z",
    "detected_at": "2026-10-26T14:10:02.656Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-86d8bfcf3f40c989b10360d3",
   "url": "/evidence/?pick=n-86d8bfcf3f40c989b10360d3",
   "quote_text": "Venezia possible starting lineup:\n\nF. Stankovic; Schingtienne, Halhal, Moreno; Hainaut, Perez",
   "fragment_from": 3655,
   "fragment_to": 3748,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "587d59431ac0b58a61588bb44ffe3bdb396be0d9bbfd494d49f8697b00e311d0",
    "material_removed": false
   },
   "published_at": "2026-10-26T12:11:00.000Z",
   "detected_at": "2026-10-26T14:10:02.656Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T12:11:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T12:11:00.000Z",
    "detected_at": "2026-10-26T14:10:02.656Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3aa68bcd383c50c937a3d673",
   "url": "/evidence/?pick=n-3aa68bcd383c50c937a3d673",
   "quote_text": "So, with captain Lautaro Martinez still sidelined by injury, Ange Bonny and Pio Esposito should",
   "fragment_from": 2929,
   "fragment_to": 3024,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "587d59431ac0b58a61588bb44ffe3bdb396be0d9bbfd494d49f8697b00e311d0",
    "material_removed": false
   },
   "published_at": "2026-10-26T12:11:00.000Z",
   "detected_at": "2026-10-26T14:10:02.656Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T12:11:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T12:11:00.000Z",
    "detected_at": "2026-10-26T14:10:02.656Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7479c6d500465c603f010d63",
   "url": "/evidence/?pick=n-7479c6d500465c603f010d63",
   "quote_text": "After complimenting Thuram for his fine recent form, Chivu suggested the French striker",
   "fragment_from": 2784,
   "fragment_to": 2871,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "587d59431ac0b58a61588bb44ffe3bdb396be0d9bbfd494d49f8697b00e311d0",
    "material_removed": false
   },
   "published_at": "2026-10-26T12:11:00.000Z",
   "detected_at": "2026-10-26T14:10:02.656Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T12:11:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T12:11:00.000Z",
    "detected_at": "2026-10-26T14:10:02.656Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-167d6214464312c7b5d773cf",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-167d6214464312c7b5d773cf",
   "quote_text": "We say: Venezia 0-3 Inter Milan",
   "fragment_from": 3928,
   "fragment_to": 3959,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "587d59431ac0b58a61588bb44ffe3bdb396be0d9bbfd494d49f8697b00e311d0",
    "material_removed": false
   },
   "published_at": "2026-10-26T12:11:00.000Z",
   "detected_at": "2026-10-26T14:10:02.656Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-6ce1a04a3c7d",
    "display_name": "Venezia — Inter",
    "competition_name": "Serie A",
    "starts_at": "2026-10-28T17:30:00.000Z",
    "url": "/football/matches/venezia-vs-inter-2026-10-28/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Venezia 0-3 Inter",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-26T12:11:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T12:11:00.000Z",
    "detected_at": "2026-10-26T14:10:02.656Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Venezia 0-3 Inter",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Venezia 0-3 Inter"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Venezia 0-2 Inter."
   },
   "settlements": [
    {
     "operation_id": "e78de7c079a0829553f03cde06b05bde2ed192120d74f346a7c94dedabb57e55",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Inter",
     "decimal_odds": "1.3400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3400,
     "executed_at": "2026-10-28T05:16:57.327Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3f76d9669f8fe0a8d96c43c3",
   "url": "/evidence/?pick=n-3f76d9669f8fe0a8d96c43c3",
   "quote_text": "Kevin De Bruyne is the visitors’ top Serie A scorer with three goals so far",
   "fragment_from": 3283,
   "fragment_to": 3358,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-napoli-prediction-team-news-lineups_607725.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "69ea797201db3efb6369af5a750ce838fe296ffdfc8da221307389cc8132bd03",
    "material_removed": false
   },
   "published_at": "2026-10-26T10:26:00.000Z",
   "detected_at": "2026-10-26T11:10:22.851Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T10:26:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T10:26:00.000Z",
    "detected_at": "2026-10-26T11:10:22.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-095a8447599bfeaf7d47a094",
   "url": "/evidence/?pick=n-095a8447599bfeaf7d47a094",
   "quote_text": "Benoit Badiashile was withdrawn with a muscular problem at the weekend",
   "fragment_from": 2813,
   "fragment_to": 2883,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-napoli-prediction-team-news-lineups_607725.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "69ea797201db3efb6369af5a750ce838fe296ffdfc8da221307389cc8132bd03",
    "material_removed": false
   },
   "published_at": "2026-10-26T10:26:00.000Z",
   "detected_at": "2026-10-26T11:10:22.851Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T10:26:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T10:26:00.000Z",
    "detected_at": "2026-10-26T11:10:22.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-6b30e47d63c13b9b17ddaf7e",
   "url": "/evidence/?pick=n-6b30e47d63c13b9b17ddaf7e",
   "quote_text": "For several months, Napoli have regularly failed to impress away from home, while Monza are much stronger as hosts.",
   "fragment_from": 4029,
   "fragment_to": 4144,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-napoli-prediction-team-news-lineups_607725.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "69ea797201db3efb6369af5a750ce838fe296ffdfc8da221307389cc8132bd03",
    "material_removed": false
   },
   "published_at": "2026-10-26T10:26:00.000Z",
   "detected_at": "2026-10-26T11:10:22.851Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-26T10:26:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T10:26:00.000Z",
    "detected_at": "2026-10-26T11:10:22.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-2100de5592af0fdcb81dd99a",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-2100de5592af0fdcb81dd99a",
   "quote_text": "We say: Monza 1-2 Napoli",
   "fragment_from": 4003,
   "fragment_to": 4027,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-napoli-prediction-team-news-lineups_607725.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "69ea797201db3efb6369af5a750ce838fe296ffdfc8da221307389cc8132bd03",
    "material_removed": false
   },
   "published_at": "2026-10-26T10:26:00.000Z",
   "detected_at": "2026-10-26T11:10:22.851Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-184148abb3b1",
    "display_name": "Monza — SSC Napoli",
    "competition_name": "Serie A",
    "starts_at": "2026-10-28T19:45:00.000Z",
    "url": "/football/matches/monza-vs-ssc-napoli-2026-10-28/",
    "scoreline": "1-4",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Monza 1-2 SSC Napoli",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-26T10:26:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T10:26:00.000Z",
    "detected_at": "2026-10-26T11:10:22.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Monza 1-2 SSC Napoli",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Monza 1-2 SSC Napoli"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-4",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Monza 1-4 SSC Napoli."
   },
   "settlements": [
    {
     "operation_id": "2d31362ea5a6c9e955c2e0371f965b1a62e4fdfcf79573e9aebf397b8c053999",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "SSC Napoli",
     "decimal_odds": "1.7700",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7700,
     "executed_at": "2026-10-27T10:34:46.615Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-napoli-prediction-team-news-lineups_607725.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-46ca10d82f9896e00aa17204",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-46ca10d82f9896e00aa17204",
   "quote_text": "We say: Genoa 1-2 Juventus",
   "fragment_from": 4000,
   "fragment_to": 4026,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-juventus-prediction-team-news-lineups_607716.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "257dbe90d9c6381d3668476f04e0cb67bcb5d5a734a9e33a1b9303ca44296085",
    "material_removed": false
   },
   "published_at": "2026-10-26T08:44:13.000Z",
   "detected_at": "2026-10-26T09:09:59.127Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-f1c8cc0edc48",
    "display_name": "Genoa — Juventus",
    "competition_name": "Serie A",
    "starts_at": "2026-10-28T19:45:00.000Z",
    "url": "/football/matches/genoa-vs-juventus-2026-10-28/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Genoa 1-2 Juventus",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-26T08:44:13.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T08:44:13.000Z",
    "detected_at": "2026-10-26T09:09:59.127Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Genoa 1-2 Juventus",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Genoa 1-2 Juventus"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Genoa 2-0 Juventus."
   },
   "settlements": [
    {
     "operation_id": "e3cd6577aacfa01704295d994a66d508b979740193c146aec533a9e4ecc0e21f",
     "series_key": "derived_series",
     "series_label": "Forecast Record reconstruction from the predicted score",
     "derived": true,
     "site_simulation": true,
     "author_words": false,
     "market_label": "1X2, match result",
     "choice": "Juventus",
     "decimal_odds": "1.6600",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-27T19:20:58.332Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Jonathan O'Shea",
    "publisher": "Sports Mole",
    "forecaster": "Jonathan O'Shea",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-juventus-prediction-team-news-lineups_607716.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a89d5c01fc081a6b8ecd5e98",
   "url": "/evidence/?pick=n-a89d5c01fc081a6b8ecd5e98",
   "quote_text": "captain Lautaro Martinez will be sidelined until the international break",
   "fragment_from": 3503,
   "fragment_to": 3575,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-fiorentina-prediction-team-news-lineups_607570.html",
    "display_name": null,
    "speaker": "Jonathan O'Shea",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7ac94ce0b317a6aae510b50e8b46174f2f12842fb5a977f72c051e40513c7b73",
    "material_removed": false
   },
   "published_at": "2026-10-23T16:22:00.000Z",
   "detected_at": "2026-10-23T22:10:12.615Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T16:22:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T16:22:00.000Z",
    "detected_at": "2026-10-23T22:10:12.615Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 0,
  "service": 6,
  "ruleset_version": "3"
 },
 "standing": {
  "titles": [
   {
    "code_name": "E-07",
    "display_name": "Draw at 4.00 · Atalanta v Frosinone · 25 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Long-price call",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Draw at 4.00 · Atalanta v Frosinone · 25 Oct 2026",
    "rationale": "Draw called correctly at 4.00 (our pre-match price). 10 other tipsters and sources on this match, 2 right (8 named home win, 1 named away win, 1 named draw). Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-e-07-all-event",
    "alt": "Jonathan O'Shea · Draw at 4.00 · Atalanta v Frosinone · 25 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/jonathan-o-shea/#title-long-price-call\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-m-light.svg\" alt=\"Jonathan O'Shea · Draw at 4.00 · Atalanta v Frosinone · 25 Oct 2026 · Tracked by Forecast Record\" width=\"795\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 23 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-25",
    "evidence_through": "2026-10-25",
    "earned_at": "2026-10-25",
    "published_at": "2026-10-26",
    "visible_until": "2027-01-23",
    "badge_label": "Correct at 4.00 · 25 Oct",
    "scope_words": null,
    "title_id": "zk-bfed54ad671d8f380e08",
    "evidence_items": [
     {
      "nid": "n-384ae99d5873fc409a7f948d",
      "data": "2026-10-25",
      "match": "Atalanta v Frosinone",
      "said_text": "Correct score: Atalanta 2-2 Frosinone",
      "outcome_label": "score wrong · result right",
      "evidence_price": 4.0,
      "comparison": "10 other tipsters and sources on this match, 2 right (8 named home win, 1 named away win, 1 named draw)",
      "url": "/authors/jonathan-o-shea/picks/4/#pick-n-384ae99d5873fc409a7f948d"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1080,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1080,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 795,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 795,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 620,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 620,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-4a4c3d0d1d8abc763e97c466/e-07-all-event-card.svg"
    },
    "profile_anchor": "title-bfed54ad671d",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.25,
     "one_in": 4,
     "log10": -0.6,
     "words": "1 in 4",
     "rule": "market probability (1/price) of this one pick",
     "note": "market prices include the bookmaker margin, so the chance is slightly overstated — a cautious figure"
    },
    "embed_anchor": "title-long-price-call"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "rationale": "Correct score 2–1 called before the match; 6 other tipsters and sources named an exact score on this match, 2 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-all-event",
    "alt": "Jonathan O'Shea · Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/jonathan-o-shea/#title-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-m-light.svg\" alt=\"Jonathan O'Shea · Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026 · Tracked by Forecast Record\" width=\"803\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 23 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-25",
    "evidence_through": "2026-10-25",
    "earned_at": "2026-10-25",
    "published_at": "2026-10-26",
    "visible_until": "2027-01-23",
    "badge_label": "Exact score 2–1 · 25 Oct",
    "scope_words": null,
    "title_id": "zk-2ca0135d6d40660c7abe",
    "evidence_items": [
     {
      "nid": "n-cd51a709a75401829026d1d1",
      "data": "2026-10-25",
      "match": "Inter v Fiorentina",
      "said_text": "Correct score: Inter 2-1 Fiorentina",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "6 other tipsters and sources named an exact score on this match, 2 right",
      "url": "/authors/jonathan-o-shea/picks/4/#pick-n-cd51a709a75401829026d1d1"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1091,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1091,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 803,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 803,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 626,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 626,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-all-event-card.svg"
    },
    "profile_anchor": "title-2ca0135d6d40",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–0 · AS Roma v Genoa · 17 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-e06667ecdf",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 2–0 · AS Roma v Genoa · 17 Oct 2026",
    "rationale": "Correct score 2–0 called before the match; 6 other tipsters and sources named an exact score on this match, 3 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-e06667ecdf-event",
    "alt": "Jonathan O'Shea · Exact score 2–0 · AS Roma v Genoa · 17 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/jonathan-o-shea/#title-exact-score-called-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-m-light.svg\" alt=\"Jonathan O'Shea · Exact score 2–0 · AS Roma v Genoa · 17 Oct 2026 · Tracked by Forecast Record\" width=\"778\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 15 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-17",
    "evidence_through": "2026-10-17",
    "earned_at": "2026-10-17",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-15",
    "badge_label": "Exact score 2–0 · 17 Oct",
    "scope_words": null,
    "title_id": "zk-e06667ecdfd8c5b759f1",
    "evidence_items": [
     {
      "nid": "n-5b733d9371d70e5ad4eb6962",
      "data": "2026-10-17",
      "match": "AS Roma v Genoa",
      "said_text": "Correct score: AS Roma 2-0 Genoa",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "6 other tipsters and sources named an exact score on this match, 3 right",
      "url": "/authors/jonathan-o-shea/picks/3/#pick-n-5b733d9371d70e5ad4eb6962"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1058,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1058,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 778,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 778,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 607,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 607,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-e06667ecdf-event-card.svg"
    },
    "profile_anchor": "title-e06667ecdfd8",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called-exact-score-called"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–2 · Celta Vigo v Juventus · 15 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-5420b2b1f7",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 1–2 · Celta Vigo v Juventus · 15 Oct 2026",
    "rationale": "Correct score 1–2 called before the match; 4 other tipsters and sources named an exact score on this match, 3 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-5420b2b1f7-event",
    "alt": "Jonathan O'Shea · Exact score 1–2 · Celta Vigo v Juventus · 15 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/jonathan-o-shea/#title-exact-score-called-exact-score-called-2\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-m-light.svg\" alt=\"Jonathan O'Shea · Exact score 1–2 · Celta Vigo v Juventus · 15 Oct 2026 · Tracked by Forecast Record\" width=\"827\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 13 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-15",
    "evidence_through": "2026-10-15",
    "earned_at": "2026-10-15",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-13",
    "badge_label": "Exact score 1–2 · 15 Oct",
    "scope_words": null,
    "title_id": "zk-5420b2b1f7c6dccc2432",
    "evidence_items": [
     {
      "nid": "n-0a1df6a48168f1e5f95ed79a",
      "data": "2026-10-15",
      "match": "Celta Vigo v Juventus",
      "said_text": "Correct score: Celta Vigo 1-2 Juventus",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "4 other tipsters and sources named an exact score on this match, 3 right",
      "url": "/authors/jonathan-o-shea/picks/3/#pick-n-0a1df6a48168f1e5f95ed79a"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1124,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1124,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 827,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 827,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 645,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 645,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-5420b2b1f7-event-card.svg"
    },
    "profile_anchor": "title-5420b2b1f7c6",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called-exact-score-called-2"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 3–0 · Inter v Parma · 10 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-0a48f8d8b5",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 3–0 · Inter v Parma · 10 Oct 2026",
    "rationale": "Correct score 3–0 called before the match; 4 other tipsters and sources named an exact score on this match, 1 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-0a48f8d8b5-event",
    "alt": "Jonathan O'Shea · Exact score 3–0 · Inter v Parma · 10 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/jonathan-o-shea/#title-exact-score-called-exact-score-called-3\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-m-light.svg\" alt=\"Jonathan O'Shea · Exact score 3–0 · Inter v Parma · 10 Oct 2026 · Tracked by Forecast Record\" width=\"762\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 8 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-10",
    "evidence_through": "2026-10-10",
    "earned_at": "2026-10-10",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-08",
    "badge_label": "Exact score 3–0 · 10 Oct",
    "scope_words": null,
    "title_id": "zk-0a48f8d8b5d0ac14acd1",
    "evidence_items": [
     {
      "nid": "n-b0b5f64aaf25c3e1323d0161",
      "data": "2026-10-10",
      "match": "Inter v Parma",
      "said_text": "Correct score: Inter 3-0 Parma",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "4 other tipsters and sources named an exact score on this match, 1 right",
      "url": "/authors/jonathan-o-shea/picks/2/#pick-n-b0b5f64aaf25c3e1323d0161"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1036,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1036,
       "height": 40,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 762,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 762,
       "height": 28,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 594,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 594,
       "height": 20,
       "url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-4a4c3d0d1d8abc763e97c466/cs-10-z-0a48f8d8b5-event-card.svg"
    },
    "profile_anchor": "title-0a48f8d8b5d0",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called-exact-score-called-3"
   }
  ],
  "publication_mode": "top20",
  "empty_reason": null,
  "rules_version": "catalog-1",
  "insufficient": [],
  "badges_on_page": 0,
  "header_titles": [
   {
    "title_id": "zk-2ca0135d6d40660c7abe",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 2–1 · 25 Oct",
    "body": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-2ca0135d6d40",
    "event_at": "2026-10-25",
    "url": "/titles/cs-10-exact-score-called/"
   },
   {
    "title_id": "zk-bfed54ad671d8f380e08",
    "code_name": "E-07",
    "title_tier": "dated_record",
    "badge_label": "Correct at 4.00 · 25 Oct",
    "body": "Draw at 4.00 · Atalanta v Frosinone · 25 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-bfed54ad671d",
    "event_at": "2026-10-25",
    "url": "/titles/e-07-long-price-call/#zk-bfed54ad671d8f380e08"
   },
   {
    "title_id": "zk-e06667ecdfd8c5b759f1",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 2–0 · 17 Oct",
    "body": "Exact score 2–0 · AS Roma v Genoa · 17 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-e06667ecdfd8",
    "event_at": "2026-10-17",
    "url": "/titles/cs-10-exact-score-called/"
   }
  ],
  "record_origin": [],
  "recent_record": [
   {
    "code_name": "CS-10",
    "body": "Exact score 2–1 · Inter v Fiorentina · 25 Oct 2026",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-2ca0135d6d40"
   },
   {
    "code_name": "E-07",
    "body": "Draw at 4.00 · Atalanta v Frosinone · 25 Oct 2026",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-bfed54ad671d"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 2–0 · AS Roma v Genoa · 17 Oct 2026",
    "event_at": "2026-10-17",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-e06667ecdfd8"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 1–2 · Celta Vigo v Juventus · 15 Oct 2026",
    "event_at": "2026-10-15",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-5420b2b1f7c6"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 3–0 · Inter v Parma · 10 Oct 2026",
    "event_at": "2026-10-10",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-0a48f8d8b5d0"
   }
  ],
  "record_details": [],
  "history": []
 },
 "retro": null,
 "late": null,
 "price_vs_market": null,
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "sportsmole.co.uk",
   "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html"
  },
  "observed_from": "2026-09-25",
  "observed_to": "2026-11-07",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "market_price",
  "series": "Recorded before kick-off, at our recorded market price",
  "restored": false,
  "headline_kind": "live_snapshot",
  "headline_part": "live",
  "settled_picks": 1,
  "matches": 1,
  "void": 0,
  "net_points_hundredths": -10000,
  "staked_hundredths": 10000,
  "return_percent": "-100.00",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-11-01",
  "period_to": "2026-11-01",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 1 settled live pick by Jonathan O'Shea before kick-off across 1 match on 1 November 2026. Won 0 of 1 settled live pick at our recorded market prices. Of the 75 predictions we hold for Jonathan O'Shea, 60 are linked to matches: 60 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "1",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "1",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "−100 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "−100.0%",
    "anchor": "/methodology/#roi",
    "note": null
   }
  ],
  "limitations": [
   "This page combines Jonathan O'Shea across 2 platforms. The record above counts each prediction once, even when the same pick (match, market and selection) appeared on more than one platform; each platform keeps its own total under “Where Jonathan O'Shea publishes”."
  ],
  "other_series": [],
  "return_over_time": [],
  "return_over_time_parts": {
   "live": {
    "part": "live",
    "label": "Recorded by us before kick-off",
    "series_code": "market_price",
    "price_rule": "Return at our recorded market price",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. Each pick was recorded by us before kick-off and settled after the match.",
    "settled_picks": 1,
    "matches": 1,
    "match_dates": 1,
    "period_from": "2026-11-01",
    "period_to": "2026-11-01",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": -10000,
    "low": {
     "date": "2026-11-01",
     "cumulative_points_hundredths": -10000,
     "after_picks": 1
    },
    "high": {
     "date": "2026-11-01",
     "cumulative_points_hundredths": -10000,
     "after_picks": 1
    },
    "line_drawn": false,
    "steps": [
     {
      "date": "2026-11-01",
      "cumulative_points_hundredths": -10000,
      "n": 1,
      "picks": 1
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 1 settled live pick by Jonathan O'Shea before kick-off across 1 match on 1 November 2026. Won 0 of 1 settled live pick at our recorded market prices. Of the 75 predictions we hold for Jonathan O'Shea, 60 are linked to matches: 60 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/jonathan-o-shea/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 75,
   "under_review": 0,
   "no_match_linked": 15,
   "proven_predictions": 60,
   "proven_checked": 54,
   "proven_measured": 54,
   "proven_dates": 26,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 60,
     "checked": 54,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 1,
      "void": 0,
      "matches": 1,
      "net_points_hundredths": -10000,
      "staked_hundredths": 10000,
      "return_percent": "-100.00",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2026-11-01",
      "period_to": "2026-11-01",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "0.0",
      "checked_after_kickoff_picks": 0
     },
     "same_picks": [],
     "score": {
      "score_forecasts": 53,
      "exact_hits": 4,
      "exact_rate": 7.5,
      "outcome_checked": 53,
      "outcome_hits": 28,
      "outcome_rate": 52.8,
      "baseline_matches": 43,
      "baseline_distinct_matches": 43,
      "outcome_hits_on_baseline": 22,
      "outcome_rate_on_baseline": 51.2,
      "favourite_hits": 33,
      "favourite_rate": 76.7,
      "price_basis": "our pre-match snapshot",
      "pending": 6,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": [
       "Outcome checked. No betting return is attributed to these score forecasts.",
       "4 of 53 score forecasts named the exact score (7.5%).",
       "The result implied by the named score was right in 22 of 43 matches; the market favourite was right in 33 of the same 43 matches.",
       "A pre-match market favourite is known for 43 of 53 forecasts; the comparison uses only those.",
       "The market favourite is the home win, draw or away win with the lowest price in our own odds snapshot taken before kick-off.",
       "The implied result follows from the named score (2-1 implies a home win)."
      ]
     },
     "eligible": {
      "checked": 54,
      "priced": 1
     },
     "accuracy": {
      "picks": 1,
      "won": 0,
      "won_percent": "0.0",
      "implied_percent": "8.7",
      "left_out": 0,
      "by_market": [
       {
        "market": "Correct score",
        "won": 0,
        "picks": 1,
        "implied_percent": "8.7"
       }
      ]
     }
    },
    {
     "code": "archived",
     "title": "Archived before kick-off",
     "explanation": "Restored from a copy saved by an independent web archive before kick-off.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    },
    {
     "code": "found_after",
     "title": "Found after the match",
     "explanation": "First found after the match; the date is the one the source states.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    }
   ]
  },
  "live_alongside": null,
  "headline_record_ids": [
   "n-b867a100044b339ea830dacd"
  ],
  "interval_low": null,
  "interval_high": null,
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 1 November 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-09-25",
  "record_to": "2026-11-07"
 },
 "recorded_picks": [
  {
   "record_id": "n-b867a100044b339ea830dacd",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-b867a100044b339ea830dacd",
   "match": "Lazio v Cagliari",
   "match_url": "/football/matches/lazio-vs-cagliari-2026-11-01/",
   "kickoff": "2026-11-01T14:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lazio 3-1 Cagliari",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "11.5000",
   "published_at": "2026-10-30T16:50:29.000Z",
   "recorded_at": "2026-10-30T17:10:28.037Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b867a100044b339ea830dacd",
    "quote_text": "We say: Lazio 3-1 Cagliari",
    "fragment_from": 4026,
    "fragment_to": 4052,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-cagliari-prediction-team-news-lineups_608091.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1de35358f28dcea4eaa3009c3904a48806cbfb4ecf6a7da5408db765f30921ec",
     "material_removed": false
    },
    "published_at": "2026-10-30T16:50:29.000Z",
    "detected_at": "2026-10-30T17:10:28.037Z",
    "executed_at": "2026-11-01T11:16:55.664Z",
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-440b743ba853",
     "display_name": "Lazio — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-11-01T14:00:00.000Z",
     "url": "/football/matches/lazio-vs-cagliari-2026-11-01/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lazio 3-1 Cagliari",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "11.5000",
     "our_snapshot_at": "2026-10-30T17:09:32.146Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T16:50:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T16:50:29.000Z",
     "detected_at": "2026-10-30T17:10:28.037Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Lazio 3-1 Cagliari",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lazio 3-1 Cagliari"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Lazio 2-1 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "b95262f193afe2345690b09dcf3f5f759be0079e7e2599a18d3aa6a6b699c815",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Lazio 3-1 Cagliari",
      "decimal_odds": "11.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-01T11:16:55.664Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "217369ce4d24c78f75f5749f61ba6b3f378bd592cb2a906527433226655dea8c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lazio",
      "decimal_odds": "1.4400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4400,
      "executed_at": "2026-11-01T11:16:57.054Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-cagliari-prediction-team-news-lineups_608091.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lazio 3-1 Cagliari"
   }
  },
  {
   "record_id": "n-899d535e11191854cccd9f45",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-899d535e11191854cccd9f45",
   "match": "Fiorentina v Juventus",
   "match_url": "/football/matches/fiorentina-vs-juventus-2026-11-08/",
   "kickoff": "2026-11-08T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 57.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fiorentina 1-2 Juventus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T09:07:24.000Z",
   "recorded_at": "2026-11-06T10:10:23.260Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-899d535e11191854cccd9f45",
    "quote_text": "We say: Fiorentina 1-2 Juventus",
    "fragment_from": 4573,
    "fragment_to": 4604,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-juventus-prediction-team-news-lineups_608565.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6455813b60c839361cd39f8f7067cac1c5b9a37dba8af6d9746b8d670d7216cb",
     "material_removed": false
    },
    "published_at": "2026-11-06T09:07:24.000Z",
    "detected_at": "2026-11-06T10:10:23.260Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-12ced2b8a607",
     "display_name": "Fiorentina — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-11-08T19:45:00.000Z",
     "url": "/football/matches/fiorentina-vs-juventus-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Fiorentina 1-2 Juventus",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T09:07:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T09:07:24.000Z",
     "detected_at": "2026-11-06T10:10:23.260Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Fiorentina 1-2 Juventus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fiorentina 1-2 Juventus"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 19:45 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 19:45 UTC."
    },
    "settlements": [
     {
      "operation_id": "e62a47959cdb6d9fa49beb53d018d92529f438f4e2e633fa999edda49014f0f7",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Juventus",
      "decimal_odds": "2.0500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T20:18:30.213Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-juventus-prediction-team-news-lineups_608565.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fiorentina 1-2 Juventus"
   }
  },
  {
   "record_id": "n-7c512f352135c046fa2722b9",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-7c512f352135c046fa2722b9",
   "match": "Inter v Como",
   "match_url": "/football/matches/inter-vs-como-2026-11-08/",
   "kickoff": "2026-11-08T17:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 47.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 2-3 Como",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T16:55:00.000Z",
   "recorded_at": "2026-11-06T17:16:13.056Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7c512f352135c046fa2722b9",
    "quote_text": "We say: Inter Milan 2-3 Como",
    "fragment_from": 5099,
    "fragment_to": 5127,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-como-prediction-team-news-lineups_608620.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ad74f69c24256e96915f879850df634a4451bb0fd19e69d62a29547f94e110f1",
     "material_removed": false
    },
    "published_at": "2026-11-06T16:55:00.000Z",
    "detected_at": "2026-11-06T17:16:13.056Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3f437b15dcb4",
     "display_name": "Inter — Como",
     "competition_name": "Serie A",
     "starts_at": "2026-11-08T17:00:00.000Z",
     "url": "/football/matches/inter-vs-como-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 2-3 Como",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T16:55:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T16:55:00.000Z",
     "detected_at": "2026-11-06T17:16:13.056Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter 2-3 Como",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 2-3 Como"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 17:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 17:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "3d750f34031413850896ea18e28e3c2fd10a7cee6ec003344a5e23dbe471dfbb",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Como",
      "decimal_odds": "3.6000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T17:25:48.648Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-como-prediction-team-news-lineups_608620.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 2-3 Como"
   }
  },
  {
   "record_id": "n-ee325483f2584212942e3fc7",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-ee325483f2584212942e3fc7",
   "match": "Genoa v AC Milan",
   "match_url": "/football/matches/genoa-vs-ac-milan-2026-11-08/",
   "kickoff": "2026-11-08T14:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 31.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Genoa 2-2 AC Milan",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T13:24:00.000Z",
   "recorded_at": "2026-11-07T06:10:46.209Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ee325483f2584212942e3fc7",
    "quote_text": "We say: Genoa 2-2 AC Milan",
    "fragment_from": 4309,
    "fragment_to": 4335,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8b78b44405172e09c5c0b18a9fe0b5014a602f48bbc3a0b2ff374da5eb9db78a",
     "material_removed": false
    },
    "published_at": "2026-11-06T13:24:00.000Z",
    "detected_at": "2026-11-07T06:10:46.209Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3784c83a039e",
     "display_name": "Genoa — AC Milan",
     "competition_name": "Serie A",
     "starts_at": "2026-11-08T14:00:00.000Z",
     "url": "/football/matches/genoa-vs-ac-milan-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Genoa 2-2 AC Milan",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T13:24:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T13:24:00.000Z",
     "detected_at": "2026-11-07T06:10:46.209Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Genoa 2-2 AC Milan",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Genoa 2-2 AC Milan"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 14:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 14:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "b46d2d4ffb1ff56545a2ae592452d34c1fc556ba4d97414a1638d9e4aea1deb8",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-07T06:19:11.198Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-ac-milan-prediction-team-news-lineups_608592.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Genoa 2-2 AC Milan"
   }
  },
  {
   "record_id": "n-391c402c9e80b36a5b92e35b",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-391c402c9e80b36a5b92e35b",
   "match": "SSC Napoli v Lazio",
   "match_url": "/football/matches/ssc-napoli-vs-lazio-2026-11-08/",
   "kickoff": "2026-11-08T11:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 43.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SSC Napoli 1-2 Lazio",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T15:25:00.000Z",
   "recorded_at": "2026-11-06T16:10:40.750Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-391c402c9e80b36a5b92e35b",
    "quote_text": "We say: Napoli 1-2 Lazio",
    "fragment_from": 4652,
    "fragment_to": 4676,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed511a1d30fb8fe7f68bde644e1099ac058512e07ee7b6e0bf098e311f79ab26",
     "material_removed": false
    },
    "published_at": "2026-11-06T15:25:00.000Z",
    "detected_at": "2026-11-06T16:10:40.750Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7f9ef8fbb17b",
     "display_name": "SSC Napoli — Lazio",
     "competition_name": "Serie A",
     "starts_at": "2026-11-08T11:30:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-lazio-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "SSC Napoli 1-2 Lazio",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T15:25:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T15:25:00.000Z",
     "detected_at": "2026-11-06T16:10:40.750Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "SSC Napoli 1-2 Lazio",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SSC Napoli 1-2 Lazio"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 11:30 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 11:30 UTC."
    },
    "settlements": [
     {
      "operation_id": "9f774a5dae4df175206dc898fbdda95245e8e65af012d550f4d6a436c8b11ebf",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lazio",
      "decimal_odds": "3.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T16:14:56.621Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-lazio-prediction-team-news-lineups_608609.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SSC Napoli 1-2 Lazio"
   }
  },
  {
   "record_id": "n-cf80fe110b7a9998d301f273",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-cf80fe110b7a9998d301f273",
   "match": "AS Roma v Sassuolo",
   "match_url": "/football/matches/as-roma-vs-sassuolo-2026-11-07/",
   "kickoff": "2026-11-07T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 48.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AS Roma 3-1 Sassuolo",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T18:38:27.000Z",
   "recorded_at": "2026-11-05T19:11:03.678Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-cf80fe110b7a9998d301f273",
    "quote_text": "We say: Roma 3-1 Sassuolo",
    "fragment_from": 4527,
    "fragment_to": 4552,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-sassuolo-prediction-team-news-lineups_608516.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "83b56976617c52e6bb62a9c0e0a0cab33a3d9f71bb8608bac2a3711ccb3e739f",
     "material_removed": false
    },
    "published_at": "2026-11-05T18:38:27.000Z",
    "detected_at": "2026-11-05T19:11:03.678Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3299a002210a",
     "display_name": "AS Roma — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-11-07T19:45:00.000Z",
     "url": "/football/matches/as-roma-vs-sassuolo-2026-11-07/",
     "scoreline": null,
     "condition": "no_result"
    },
    "market_label": "Correct score",
    "outcome_label": "AS Roma 3-1 Sassuolo",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-05T18:38:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T18:38:27.000Z",
     "detected_at": "2026-11-05T19:11:03.678Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AS Roma 3-1 Sassuolo",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AS Roma 3-1 Sassuolo"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting the final score",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting the final score."
    },
    "settlements": [
     {
      "operation_id": "3684aae1440d87f9d68eb50893ae046fdc221af72653753907710256cf870c4e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "AS Roma",
      "decimal_odds": "1.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-05T19:25:41.148Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-sassuolo-prediction-team-news-lineups_608516.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AS Roma 3-1 Sassuolo"
   }
  },
  {
   "record_id": "n-641b6f75cbf2e9fe215a3b6a",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-641b6f75cbf2e9fe215a3b6a",
   "match": "Parma v Bologna",
   "match_url": "/football/matches/parma-vs-bologna-2026-11-07/",
   "kickoff": "2026-11-07T17:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 47.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Parma 0-2 Bologna",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T16:44:24.000Z",
   "recorded_at": "2026-11-05T17:10:08.826Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-641b6f75cbf2e9fe215a3b6a",
    "quote_text": "We say: Parma 0-2 Bologna",
    "fragment_from": 3708,
    "fragment_to": 3733,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-bologna-prediction-team-news-lineups_608506.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "348f3071c0ba2f67d4e3a1b0a6fa059943293b7db2b6dbc0eda22b1ca1725d23",
     "material_removed": false
    },
    "published_at": "2026-11-05T16:44:24.000Z",
    "detected_at": "2026-11-05T17:10:08.826Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ac3eac283d4a",
     "display_name": "Parma — Bologna",
     "competition_name": "Serie A",
     "starts_at": "2026-11-07T17:00:00.000Z",
     "url": "/football/matches/parma-vs-bologna-2026-11-07/",
     "scoreline": null,
     "condition": "no_result"
    },
    "market_label": "Correct score",
    "outcome_label": "Parma 0-2 Bologna",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-05T16:44:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T16:44:24.000Z",
     "detected_at": "2026-11-05T17:10:08.826Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Parma 0-2 Bologna",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Parma 0-2 Bologna"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "awaiting the final score",
     "methodology_version": "2.2",
     "in_words": "Pending: awaiting the final score."
    },
    "settlements": [
     {
      "operation_id": "dd851cea9856c0520c179f63951ff9e7dc6ffb52ddfce062316205fab03a17e0",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Bologna",
      "decimal_odds": "1.8300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "unknown",
      "result_words": "Pending",
      "change_hundredths": null,
      "executed_at": "2026-11-05T17:13:05.102Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-bologna-prediction-team-news-lineups_608506.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Parma 0-2 Bologna"
   }
  },
  {
   "record_id": "n-54e4a445a96148c3089025e2",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-54e4a445a96148c3089025e2",
   "match": "Torino v Lecce",
   "match_url": "/football/matches/torino-vs-lecce-2026-11-07/",
   "kickoff": "2026-11-07T14:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 30.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Torino 2-1 Lecce",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T15:12:00.000Z",
   "recorded_at": "2026-11-06T07:10:14.899Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.8000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-54e4a445a96148c3089025e2",
    "quote_text": "We say: Torino 2-1 Lecce",
    "fragment_from": 3738,
    "fragment_to": 3762,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-lecce-prediction-team-news-lineups_608492.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1dd67d0a611e4ca0c2a6313637bba90d30ade2df928a9c8dab16c11413489695",
     "material_removed": false
    },
    "published_at": "2026-11-05T15:12:00.000Z",
    "detected_at": "2026-11-06T07:10:14.899Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-875762aa77d4",
     "display_name": "Torino — Lecce",
     "competition_name": "Serie A",
     "starts_at": "2026-11-07T14:00:00.000Z",
     "url": "/football/matches/torino-vs-lecce-2026-11-07/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Torino 2-1 Lecce",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-05T15:12:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T15:12:00.000Z",
     "detected_at": "2026-11-06T07:10:14.899Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Torino 2-1 Lecce",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Torino 2-1 Lecce"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Torino 1-1 Lecce."
    },
    "settlements": [
     {
      "operation_id": "01e216b3cccbf91dc5eea7ef4deaa868d9495389de1a6b019ef3f6419fb26039",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Torino",
      "decimal_odds": "1.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T07:11:30.834Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-lecce-prediction-team-news-lineups_608492.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Torino 2-1 Lecce"
   }
  },
  {
   "record_id": "n-bd956e2d5c6681e9625bddb6",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-bd956e2d5c6681e9625bddb6",
   "match": "Venezia v Udinese",
   "match_url": "/football/matches/venezia-vs-udinese-2026-11-06/",
   "kickoff": "2026-11-06T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Venezia 1-2 Udinese",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-04T15:04:00.000Z",
   "recorded_at": "2026-11-04T16:09:59.859Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1500",
    "result": "Won",
    "points_hundredths": 11500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bd956e2d5c6681e9625bddb6",
    "quote_text": "We say: Venezia 1-2 Udinese",
    "fragment_from": 3880,
    "fragment_to": 3907,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/news/venezia-vs-udinese-prediction-team-news-lineups_608391.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c520a9a9d2a606b139745e77db835700344e6874160818f6c2fbad1a7591474a",
     "material_removed": false
    },
    "published_at": "2026-11-04T15:04:00.000Z",
    "detected_at": "2026-11-04T16:09:59.859Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-840d47c82bfe",
     "display_name": "Venezia — Udinese",
     "competition_name": "Serie A",
     "starts_at": "2026-11-06T19:45:00.000Z",
     "url": "/football/matches/venezia-vs-udinese-2026-11-06/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Venezia 1-2 Udinese",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-04T15:04:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T15:04:00.000Z",
     "detected_at": "2026-11-04T16:09:59.859Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Venezia 1-2 Udinese",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Venezia 1-2 Udinese"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Venezia 2-1 Udinese."
    },
    "settlements": [
     {
      "operation_id": "b144e86b991e44830ec34941e56c8d771e1bfea14070ad910753379b7524dadd",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Udinese",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T23:31:37.998Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/news/venezia-vs-udinese-prediction-team-news-lineups_608391.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Venezia 1-2 Udinese"
   }
  },
  {
   "record_id": "n-c8b4a6749c89ccb7329dcb91",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-c8b4a6749c89ccb7329dcb91",
   "match": "AZ Alkmaar v Juventus",
   "match_url": "/football/matches/az-alkmaar-vs-juventus-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 50.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AZ Alkmaar 1-1 Juventus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-03T16:54:00.000Z",
   "recorded_at": "2026-11-03T17:10:12.296Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.9500",
    "result": "Won",
    "points_hundredths": 9500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c8b4a6749c89ccb7329dcb91",
    "quote_text": "We say: AZ Alkmaar 1-1 Juventus",
    "fragment_from": 4451,
    "fragment_to": 4482,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/az/europa-league/preview/az-vs-juventus-prediction-team-news-lineups_608333.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e7feb49641d2db5c1391c5ff72c547129b3e9e8938ebfda3d33290ba35bace58",
     "material_removed": false
    },
    "published_at": "2026-11-03T16:54:00.000Z",
    "detected_at": "2026-11-03T17:10:12.296Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a705d07502db",
     "display_name": "AZ Alkmaar — Juventus",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/az-alkmaar-vs-juventus-2026-11-05/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AZ Alkmaar 1-1 Juventus",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-03T16:54:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T16:54:00.000Z",
     "detected_at": "2026-11-03T17:10:12.296Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AZ Alkmaar 1-1 Juventus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AZ Alkmaar 1-1 Juventus"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AZ Alkmaar 1-2 Juventus."
    },
    "settlements": [
     {
      "operation_id": "48cf1a8bd361cd14ea656ae5c6a0306b1ba50d331e71d37df0b939a014ed0b90",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.7000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-03T21:33:46.164Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/az/europa-league/preview/az-vs-juventus-prediction-team-news-lineups_608333.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AZ Alkmaar 1-1 Juventus"
   }
  },
  {
   "record_id": "n-bc07da18d3faa1fa4abf1c5a",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-bc07da18d3faa1fa4abf1c5a",
   "match": "FC Porto v SSC Napoli",
   "match_url": "/football/matches/fc-porto-vs-ssc-napoli-2026-11-04/",
   "kickoff": "2026-11-04T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Porto 2-1 SSC Napoli",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-02T17:13:00.000Z",
   "recorded_at": "2026-11-02T18:10:17.438Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0000",
    "result": "Won",
    "points_hundredths": 10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bc07da18d3faa1fa4abf1c5a",
    "quote_text": "We say: Porto 2-1 Napoli",
    "fragment_from": 4846,
    "fragment_to": 4870,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/porto/champions-league/preview/porto-vs-napoli-prediction-team-news-lineups_608280.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "361c64f48c3d1a194f250811884b3aa3b0e4de16d11323d81b1dd69de084ebb9",
     "material_removed": false
    },
    "published_at": "2026-11-02T17:13:00.000Z",
    "detected_at": "2026-11-02T18:10:17.438Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9588ca212aad",
     "display_name": "FC Porto — SSC Napoli",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T20:00:00.000Z",
     "url": "/football/matches/fc-porto-vs-ssc-napoli-2026-11-04/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Porto 2-1 SSC Napoli",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-02T17:13:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-02T17:13:00.000Z",
     "detected_at": "2026-11-02T18:10:17.438Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "FC Porto 2-1 SSC Napoli",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Porto 2-1 SSC Napoli"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was FC Porto 4-1 SSC Napoli."
    },
    "settlements": [
     {
      "operation_id": "ddd633f90e41669bee7af531ec0c5559db734ca75353c15009b585a5392b8bf4",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "FC Porto",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10000,
      "executed_at": "2026-11-02T21:15:54.854Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/porto/champions-league/preview/porto-vs-napoli-prediction-team-news-lineups_608280.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Porto 2-1 SSC Napoli"
   }
  },
  {
   "record_id": "n-940f7683d2f63f1bb383c9e6",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-940f7683d2f63f1bb383c9e6",
   "match": "RC Lens v Como",
   "match_url": "/football/matches/rc-lens-vs-como-2026-11-04/",
   "kickoff": "2026-11-04T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: RC Lens 1-2 Como",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-9",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-02T15:38:00.000Z",
   "recorded_at": "2026-11-02T16:10:33.091Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.1600",
    "result": "Won",
    "points_hundredths": 11600,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-940f7683d2f63f1bb383c9e6",
    "quote_text": "We say: Lens 1-2 Como",
    "fragment_from": 4560,
    "fragment_to": 4581,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lens/champions-league/preview/lens-vs-como-prediction-team-news-lineups_608269.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "20bdd8879e75a396b9cc395bdfd9c630bbd5cfbcf66a1d15af5539f18c3c1f45",
     "material_removed": false
    },
    "published_at": "2026-11-02T15:38:00.000Z",
    "detected_at": "2026-11-02T16:10:33.091Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c6123553f451",
     "display_name": "RC Lens — Como",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-04T20:00:00.000Z",
     "url": "/football/matches/rc-lens-vs-como-2026-11-04/",
     "scoreline": "1-9",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "RC Lens 1-2 Como",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-02T15:38:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-02T15:38:00.000Z",
     "detected_at": "2026-11-02T16:10:33.091Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "RC Lens 1-2 Como",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: RC Lens 1-2 Como"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-9",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was RC Lens 1-9 Como."
    },
    "settlements": [
     {
      "operation_id": "9aa9b4aed4774ecd3c7ce74975b2944021a25d07417a460d7b957105242f2476",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Como",
      "decimal_odds": "2.1600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11600,
      "executed_at": "2026-11-03T04:09:18.144Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/lens/champions-league/preview/lens-vs-como-prediction-team-news-lineups_608269.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RC Lens 1-2 Como"
   }
  },
  {
   "record_id": "n-7c6e65eefe5ddae3d5d4f100",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-7c6e65eefe5ddae3d5d4f100",
   "match": "Feyenoord v Inter",
   "match_url": "/football/matches/feyenoord-vs-inter-2026-11-03/",
   "kickoff": "2026-11-03T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 53.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Feyenoord 2-2 Inter",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-01T13:50:00.000Z",
   "recorded_at": "2026-11-01T14:10:24.792Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.7519",
    "result": "Won",
    "points_hundredths": 7519,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7c6e65eefe5ddae3d5d4f100",
    "quote_text": "We say: Feyenoord 2-2 Inter Milan",
    "fragment_from": 5505,
    "fragment_to": 5538,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/feyenoord/champions-league/preview/feyenoord-vs-inter-milan-prediction-team-news-lineups_608200.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ede8df4432ec024811051dcc537b4ec6e50e12ed85a6ba16eaa9e85f14612f91",
     "material_removed": false
    },
    "published_at": "2026-11-01T13:50:00.000Z",
    "detected_at": "2026-11-01T14:10:24.792Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c7d02fec7631",
     "display_name": "Feyenoord — Inter",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T20:00:00.000Z",
     "url": "/football/matches/feyenoord-vs-inter-2026-11-03/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Feyenoord 2-2 Inter",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-01T13:50:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T13:50:00.000Z",
     "detected_at": "2026-11-01T14:10:24.792Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Feyenoord 2-2 Inter",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Feyenoord 2-2 Inter"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Feyenoord 0-3 Inter."
    },
    "settlements": [
     {
      "operation_id": "698a41cd87d05d331548966cad32b87e1c185eb272a3cea9f700fc10f1a7babb",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T19:22:25.290Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/feyenoord/champions-league/preview/feyenoord-vs-inter-milan-prediction-team-news-lineups_608200.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Feyenoord 2-2 Inter"
   }
  },
  {
   "record_id": "n-4154b1574f420222bfcf0bb0",
   "url": "/authors/jonathan-o-shea/picks/5/#pick-n-4154b1574f420222bfcf0bb0",
   "match": "Juventus v SSC Napoli",
   "match_url": "/football/matches/juventus-vs-ssc-napoli-2026-11-01/",
   "kickoff": "2026-11-01T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Juventus 1-2 SSC Napoli",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T16:16:00.000Z",
   "recorded_at": "2026-10-30T22:10:58.470Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.2500",
    "result": "Won",
    "points_hundredths": 12500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4154b1574f420222bfcf0bb0",
    "quote_text": "We say: Juventus 1-2 Napoli",
    "fragment_from": 4938,
    "fragment_to": 4965,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "79488813a0e96823e0173961f7ce2cc4f8d04adf6020795d519d882709cfbc02",
     "material_removed": false
    },
    "published_at": "2026-10-30T16:16:00.000Z",
    "detected_at": "2026-10-30T22:10:58.470Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b380ecd591fd",
     "display_name": "Juventus — SSC Napoli",
     "competition_name": "Serie A",
     "starts_at": "2026-11-01T19:45:00.000Z",
     "url": "/football/matches/juventus-vs-ssc-napoli-2026-11-01/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Juventus 1-2 SSC Napoli",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T16:16:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T16:16:00.000Z",
     "detected_at": "2026-10-30T22:10:58.470Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Juventus 1-2 SSC Napoli",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Juventus 1-2 SSC Napoli"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Juventus 2-0 SSC Napoli."
    },
    "settlements": [
     {
      "operation_id": "5542a5fa4b6c789f5afedbf44192ee5237ff91487922f157be79753d4d32de88",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "SSC Napoli",
      "decimal_odds": "3.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-01T11:41:36.746Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-napoli-prediction-team-news-lineups_608087.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Juventus 1-2 SSC Napoli"
   }
  },
  {
   "record_id": "n-3810f13ab50ec80a10b6323d",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-3810f13ab50ec80a10b6323d",
   "match": "Frosinone v Torino",
   "match_url": "/football/matches/frosinone-vs-torino-2026-11-01/",
   "kickoff": "2026-11-01T14:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 48.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Frosinone 2-2 Torino",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T12:23:00.000Z",
   "recorded_at": "2026-10-30T13:10:41.071Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3810f13ab50ec80a10b6323d",
    "quote_text": "We say: Frosinone 2-2 Torino",
    "fragment_from": 3904,
    "fragment_to": 3932,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-torino-prediction-team-news-lineups_608066.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "59926d1800224681eb35c9bac1355d8de2b267d1ed63b95ed9bd51827b158414",
     "material_removed": false
    },
    "published_at": "2026-10-30T12:23:00.000Z",
    "detected_at": "2026-10-30T13:10:41.071Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-665aa0e695c8",
     "display_name": "Frosinone — Torino",
     "competition_name": "Serie A",
     "starts_at": "2026-11-01T14:00:00.000Z",
     "url": "/football/matches/frosinone-vs-torino-2026-11-01/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Frosinone 2-2 Torino",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T12:23:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T12:23:00.000Z",
     "detected_at": "2026-10-30T13:10:41.071Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Frosinone 2-2 Torino",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Frosinone 2-2 Torino"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Frosinone 2-0 Torino."
    },
    "settlements": [
     {
      "operation_id": "81a47f5d323eb006f2964beb362bfeabb3dc5e641cf2b5c575d64869006145c2",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-01T11:32:15.994Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-torino-prediction-team-news-lineups_608066.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Frosinone 2-2 Torino"
   }
  },
  {
   "record_id": "n-3b7a89a0bd282a450708ba2e",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-3b7a89a0bd282a450708ba2e",
   "match": "Como v Venezia",
   "match_url": "/football/matches/como-vs-venezia-2026-11-01/",
   "kickoff": "2026-11-01T11:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 48.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Como 3-0 Venezia",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-30T10:50:00.000Z",
   "recorded_at": "2026-10-30T11:10:23.148Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.2985",
    "result": "Won",
    "points_hundredths": 2985,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3b7a89a0bd282a450708ba2e",
    "quote_text": "We say: Como 3-0 Venezia",
    "fragment_from": 4119,
    "fragment_to": 4143,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-venezia-prediction-team-news-lineups_608051.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0c9633ad1eb9b7aa7d6d8bee26b2481938a4d09db26c4fafa0d73571516ab773",
     "material_removed": false
    },
    "published_at": "2026-10-30T10:50:00.000Z",
    "detected_at": "2026-10-30T11:10:23.148Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-28e6ee004c9a",
     "display_name": "Como — Venezia",
     "competition_name": "Serie A",
     "starts_at": "2026-11-01T11:30:00.000Z",
     "url": "/football/matches/como-vs-venezia-2026-11-01/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Como 3-0 Venezia",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T10:50:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T10:50:00.000Z",
     "detected_at": "2026-10-30T11:10:23.148Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Como 3-0 Venezia",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Como 3-0 Venezia"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Como 1-0 Venezia."
    },
    "settlements": [
     {
      "operation_id": "90ad699ab3a7bf72cff8d13e8940f61f847a5b777bd9611b128476a87f3420bd",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Como",
      "decimal_odds": "1.2985",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2985,
      "executed_at": "2026-10-31T18:57:32.005Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-venezia-prediction-team-news-lineups_608051.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Como 3-0 Venezia"
   }
  },
  {
   "record_id": "n-390c9c20a5067674dc1a661b",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-390c9c20a5067674dc1a661b",
   "match": "AC Milan v Inter",
   "match_url": "/football/matches/ac-milan-vs-inter-2026-10-31/",
   "kickoff": "2026-10-31T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 44.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AC Milan 1-1 Inter",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T22:00:00.000Z",
   "recorded_at": "2026-10-29T23:10:09.999Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-390c9c20a5067674dc1a661b",
    "quote_text": "We say: AC Milan 1-1 Inter Milan",
    "fragment_from": 5903,
    "fragment_to": 5935,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/ac-milan/milan-derby/preview/ac-milan-vs-inter-milan-prediction-team-news-lineups_608015.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "aa9bf922e6f5c26ab5f7864deef98cc899c39a85aec306f1103ad54e5e2c6484",
     "material_removed": false
    },
    "published_at": "2026-10-29T22:00:00.000Z",
    "detected_at": "2026-10-29T23:10:09.999Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-baa51e710664",
     "display_name": "AC Milan — Inter",
     "competition_name": "Serie A",
     "starts_at": "2026-10-31T19:45:00.000Z",
     "url": "/football/matches/ac-milan-vs-inter-2026-10-31/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AC Milan 1-1 Inter",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T22:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T22:00:00.000Z",
     "detected_at": "2026-10-29T23:10:09.999Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AC Milan 1-1 Inter",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AC Milan 1-1 Inter"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AC Milan 3-1 Inter."
    },
    "settlements": [
     {
      "operation_id": "6a2fe948b9b28218208406a3d7c539dc562ad5bd9f2ed5d740a0a19c64bb9539",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.7000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T18:54:10.989Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/ac-milan/milan-derby/preview/ac-milan-vs-inter-milan-prediction-team-news-lineups_608015.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AC Milan 1-1 Inter"
   }
  },
  {
   "record_id": "n-d8a4e23444f44bb758a990cc",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-d8a4e23444f44bb758a990cc",
   "match": "Fiorentina v Atalanta",
   "match_url": "/football/matches/fiorentina-vs-atalanta-2026-10-29/",
   "kickoff": "2026-10-29T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fiorentina 2-1 Atalanta",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-27T15:27:28.000Z",
   "recorded_at": "2026-10-27T16:10:07.054Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d8a4e23444f44bb758a990cc",
    "quote_text": "We say: Fiorentina 2-1 Atalanta BC",
    "fragment_from": 4509,
    "fragment_to": 4543,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-atalanta-prediction-team-news-lineups_607817.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2ab1c572085f7c3f40c2eb13f10f773f27b1b3a309e8b269f0de83573143accc",
     "material_removed": false
    },
    "published_at": "2026-10-27T15:27:28.000Z",
    "detected_at": "2026-10-27T16:10:07.054Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cc3f55930382",
     "display_name": "Fiorentina — Atalanta",
     "competition_name": "Serie A",
     "starts_at": "2026-10-29T19:45:00.000Z",
     "url": "/football/matches/fiorentina-vs-atalanta-2026-10-29/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fiorentina 2-1 Atalanta",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-27T15:27:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T15:27:28.000Z",
     "detected_at": "2026-10-27T16:10:07.054Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Fiorentina 2-1 Atalanta",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fiorentina 2-1 Atalanta"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Fiorentina 2-2 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "8a4a2a4be9b4584390bfbed38c4cafc681d780feeafc716b6cebedc5af04512b",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Fiorentina",
      "decimal_odds": "2.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-29T14:47:46.080Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/fiorentina/preview/fiorentina-vs-atalanta-prediction-team-news-lineups_607817.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fiorentina 2-1 Atalanta"
   }
  },
  {
   "record_id": "n-58e54afe4996bbaa8aa591c1",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-58e54afe4996bbaa8aa591c1",
   "match": "Frosinone v Lecce",
   "match_url": "/football/matches/frosinone-vs-lecce-2026-10-29/",
   "kickoff": "2026-10-29T17:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 56.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Frosinone 2-1 Lecce",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-27T08:36:20.000Z",
   "recorded_at": "2026-10-27T09:10:10.333Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.7000",
    "result": "Won",
    "points_hundredths": 7000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-58e54afe4996bbaa8aa591c1",
    "quote_text": "We say: Frosinone 2-1 Lecce",
    "fragment_from": 4082,
    "fragment_to": 4109,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-lecce-prediction-team-news-lineups_607792.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fb54a17b6f3d88bcb3db046cb35dd10d30164ce0a95d3b1ebfa7f3748cc80265",
     "material_removed": false
    },
    "published_at": "2026-10-27T08:36:20.000Z",
    "detected_at": "2026-10-27T09:10:10.333Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8a0995849f5c",
     "display_name": "Frosinone — Lecce",
     "competition_name": "Serie A",
     "starts_at": "2026-10-29T17:30:00.000Z",
     "url": "/football/matches/frosinone-vs-lecce-2026-10-29/",
     "scoreline": "5-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Frosinone 2-1 Lecce",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-27T08:36:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-27T08:36:20.000Z",
     "detected_at": "2026-10-27T09:10:10.333Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Frosinone 2-1 Lecce",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Frosinone 2-1 Lecce"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Frosinone 5-1 Lecce."
    },
    "settlements": [
     {
      "operation_id": "60c21c5bfbb30a2b2037e8fbb8a3b6dbc573c29057c1faf7a51bc9e8ea407e54",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Frosinone",
      "decimal_odds": "1.7000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7000,
      "executed_at": "2026-10-29T12:16:15.715Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-lecce-prediction-team-news-lineups_607792.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Frosinone 2-1 Lecce"
   }
  },
  {
   "record_id": "n-2100de5592af0fdcb81dd99a",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-2100de5592af0fdcb81dd99a",
   "match": "Monza v SSC Napoli",
   "match_url": "/football/matches/monza-vs-ssc-napoli-2026-10-28/",
   "kickoff": "2026-10-28T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 56.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monza 1-2 SSC Napoli",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T10:26:00.000Z",
   "recorded_at": "2026-10-26T11:10:22.851Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.7700",
    "result": "Won",
    "points_hundredths": 7700,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2100de5592af0fdcb81dd99a",
    "quote_text": "We say: Monza 1-2 Napoli",
    "fragment_from": 4003,
    "fragment_to": 4027,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-napoli-prediction-team-news-lineups_607725.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "69ea797201db3efb6369af5a750ce838fe296ffdfc8da221307389cc8132bd03",
     "material_removed": false
    },
    "published_at": "2026-10-26T10:26:00.000Z",
    "detected_at": "2026-10-26T11:10:22.851Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-184148abb3b1",
     "display_name": "Monza — SSC Napoli",
     "competition_name": "Serie A",
     "starts_at": "2026-10-28T19:45:00.000Z",
     "url": "/football/matches/monza-vs-ssc-napoli-2026-10-28/",
     "scoreline": "1-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monza 1-2 SSC Napoli",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T10:26:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T10:26:00.000Z",
     "detected_at": "2026-10-26T11:10:22.851Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Monza 1-2 SSC Napoli",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monza 1-2 SSC Napoli"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Monza 1-4 SSC Napoli."
    },
    "settlements": [
     {
      "operation_id": "2d31362ea5a6c9e955c2e0371f965b1a62e4fdfcf79573e9aebf397b8c053999",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "SSC Napoli",
      "decimal_odds": "1.7700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7700,
      "executed_at": "2026-10-27T10:34:46.615Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-napoli-prediction-team-news-lineups_607725.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monza 1-2 SSC Napoli"
   }
  },
  {
   "record_id": "n-46ca10d82f9896e00aa17204",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-46ca10d82f9896e00aa17204",
   "match": "Genoa v Juventus",
   "match_url": "/football/matches/genoa-vs-juventus-2026-10-28/",
   "kickoff": "2026-10-28T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 58.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Genoa 1-2 Juventus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T08:44:13.000Z",
   "recorded_at": "2026-10-26T09:09:59.127Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.6600",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-46ca10d82f9896e00aa17204",
    "quote_text": "We say: Genoa 1-2 Juventus",
    "fragment_from": 4000,
    "fragment_to": 4026,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-juventus-prediction-team-news-lineups_607716.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "257dbe90d9c6381d3668476f04e0cb67bcb5d5a734a9e33a1b9303ca44296085",
     "material_removed": false
    },
    "published_at": "2026-10-26T08:44:13.000Z",
    "detected_at": "2026-10-26T09:09:59.127Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f1c8cc0edc48",
     "display_name": "Genoa — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-10-28T19:45:00.000Z",
     "url": "/football/matches/genoa-vs-juventus-2026-10-28/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Genoa 1-2 Juventus",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T08:44:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T08:44:13.000Z",
     "detected_at": "2026-10-26T09:09:59.127Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Genoa 1-2 Juventus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Genoa 1-2 Juventus"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Genoa 2-0 Juventus."
    },
    "settlements": [
     {
      "operation_id": "e3cd6577aacfa01704295d994a66d508b979740193c146aec533a9e4ecc0e21f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Juventus",
      "decimal_odds": "1.6600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-27T19:20:58.332Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-juventus-prediction-team-news-lineups_607716.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Genoa 1-2 Juventus"
   }
  },
  {
   "record_id": "n-187886a83c8361a61817e49e",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-187886a83c8361a61817e49e",
   "match": "AC Milan v Bologna",
   "match_url": "/football/matches/ac-milan-vs-bologna-2026-10-28/",
   "kickoff": "2026-10-28T17:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 50.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AC Milan 1-0 Bologna",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T14:01:00.000Z",
   "recorded_at": "2026-10-26T15:09:55.851Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6200",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-187886a83c8361a61817e49e",
    "quote_text": "We say: AC Milan 1-0 Bologna",
    "fragment_from": 4136,
    "fragment_to": 4164,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/ac-milan/preview/ac-milan-vs-bologna-prediction-team-news-lineups_607749.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ffa1e3b34e964681433e0e860eb97b42481079454c27b06773657aecaeede096",
     "material_removed": false
    },
    "published_at": "2026-10-26T14:01:00.000Z",
    "detected_at": "2026-10-26T15:09:55.851Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-47b09d7cb13a",
     "display_name": "AC Milan — Bologna",
     "competition_name": "Serie A",
     "starts_at": "2026-10-28T17:30:00.000Z",
     "url": "/football/matches/ac-milan-vs-bologna-2026-10-28/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AC Milan 1-0 Bologna",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T14:01:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T14:01:00.000Z",
     "detected_at": "2026-10-26T15:09:55.851Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AC Milan 1-0 Bologna",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AC Milan 1-0 Bologna"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AC Milan 2-4 Bologna."
    },
    "settlements": [
     {
      "operation_id": "b0b02a752aa5190910d512ab7e283a65f568c0e437a15f3ea24a96310bef0ee3",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "AC Milan",
      "decimal_odds": "1.6200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T02:28:02.699Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/ac-milan/preview/ac-milan-vs-bologna-prediction-team-news-lineups_607749.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AC Milan 1-0 Bologna"
   }
  },
  {
   "record_id": "n-167d6214464312c7b5d773cf",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-167d6214464312c7b5d773cf",
   "match": "Venezia v Inter",
   "match_url": "/football/matches/venezia-vs-inter-2026-10-28/",
   "kickoff": "2026-10-28T17:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Venezia 0-3 Inter",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T12:11:00.000Z",
   "recorded_at": "2026-10-26T14:10:02.656Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.3400",
    "result": "Won",
    "points_hundredths": 3400,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-167d6214464312c7b5d773cf",
    "quote_text": "We say: Venezia 0-3 Inter Milan",
    "fragment_from": 3928,
    "fragment_to": 3959,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "587d59431ac0b58a61588bb44ffe3bdb396be0d9bbfd494d49f8697b00e311d0",
     "material_removed": false
    },
    "published_at": "2026-10-26T12:11:00.000Z",
    "detected_at": "2026-10-26T14:10:02.656Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ce1a04a3c7d",
     "display_name": "Venezia — Inter",
     "competition_name": "Serie A",
     "starts_at": "2026-10-28T17:30:00.000Z",
     "url": "/football/matches/venezia-vs-inter-2026-10-28/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Venezia 0-3 Inter",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T12:11:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T12:11:00.000Z",
     "detected_at": "2026-10-26T14:10:02.656Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Venezia 0-3 Inter",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Venezia 0-3 Inter"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Venezia 0-2 Inter."
    },
    "settlements": [
     {
      "operation_id": "e78de7c079a0829553f03cde06b05bde2ed192120d74f346a7c94dedabb57e55",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.3400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3400,
      "executed_at": "2026-10-28T05:16:57.327Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-inter-milan-prediction-team-news-lineups_607740.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Venezia 0-3 Inter"
   }
  },
  {
   "record_id": "n-9358edf42aa76db6fa96fb97",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-9358edf42aa76db6fa96fb97",
   "match": "AS Roma v Cagliari",
   "match_url": "/football/matches/as-roma-vs-cagliari-2026-10-27/",
   "kickoff": "2026-10-27T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 10.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AS Roma 2-0 Cagliari",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-25T08:08:00.000Z",
   "recorded_at": "2026-10-27T08:55:44.656Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.3300",
    "result": "Won",
    "points_hundredths": 3300,
    "picked_favourite": true
   },
   "platform": "Sports Mole, RSS feed",
   "correction": null,
   "evidence": {
    "observation_id": "n-9358edf42aa76db6fa96fb97",
    "quote_text": "We say: Roma 2-0 Cagliari",
    "fragment_from": 4219,
    "fragment_to": 4244,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-cagliari-prediction-team-news-lineups_607651.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a3d7d0eb689f92d0bcd846279d035699ce73cf5953e1c07ac4433dc8d44c869b",
     "material_removed": false
    },
    "published_at": "2026-10-25T08:08:00.000Z",
    "detected_at": "2026-10-27T08:55:44.656Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-67961bf73db7",
     "display_name": "AS Roma — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-10-27T19:45:00.000Z",
     "url": "/football/matches/as-roma-vs-cagliari-2026-10-27/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AS Roma 2-0 Cagliari",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-25T08:08:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T08:08:00.000Z",
     "detected_at": "2026-10-27T08:55:44.656Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AS Roma 2-0 Cagliari",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AS Roma 2-0 Cagliari"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AS Roma 4-2 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "435334a756074e9860171ff94072226bf5c458bfae884a74ec52adfd682e0b60",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "AS Roma",
      "decimal_odds": "1.3300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3300,
      "executed_at": "2026-10-27T09:38:23.664Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-cagliari-prediction-team-news-lineups_607651.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AS Roma 2-0 Cagliari"
   }
  },
  {
   "record_id": "n-111fe393090bae27b2747b4f",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-111fe393090bae27b2747b4f",
   "match": "Torino v Como",
   "match_url": "/football/matches/torino-vs-como-2026-10-27/",
   "kickoff": "2026-10-27T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 10.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Torino 1-2 Como",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-25T08:25:00.000Z",
   "recorded_at": "2026-10-27T08:55:43.926Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.6950",
    "result": "Won",
    "points_hundredths": 6950,
    "picked_favourite": true
   },
   "platform": "Sports Mole, RSS feed",
   "correction": null,
   "evidence": {
    "observation_id": "n-111fe393090bae27b2747b4f",
    "quote_text": "We say: Torino 1-2 Como",
    "fragment_from": 4027,
    "fragment_to": 4050,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-como-prediction-team-news-lineups_607644.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ec37f80f2e1a89b4d09d8651748faf4f2668bc75488006d194b29c673e0f2bd6",
     "material_removed": false
    },
    "published_at": "2026-10-25T08:25:00.000Z",
    "detected_at": "2026-10-27T08:55:43.926Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-efc345a47a89",
     "display_name": "Torino — Como",
     "competition_name": "Serie A",
     "starts_at": "2026-10-27T19:45:00.000Z",
     "url": "/football/matches/torino-vs-como-2026-10-27/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Torino 1-2 Como",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-25T08:25:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-25T08:25:00.000Z",
     "detected_at": "2026-10-27T08:55:43.926Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Torino 1-2 Como",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Torino 1-2 Como"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Torino 1-3 Como."
    },
    "settlements": [
     {
      "operation_id": "50b163334eebb125f5984090885d6932b719d18d59054d9d3e2914d8532ceb14",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Como",
      "decimal_odds": "1.6950",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6950,
      "executed_at": "2026-10-27T08:57:01.918Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-como-prediction-team-news-lineups_607644.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Torino 1-2 Como"
   }
  },
  {
   "record_id": "n-d61b9636f215e7efb16deaf6",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-d61b9636f215e7efb16deaf6",
   "match": "Udinese v AC Milan",
   "match_url": "/football/matches/udinese-vs-ac-milan-2026-10-25/",
   "kickoff": "2026-10-25T19:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Udinese 1-1 AC Milan",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T13:03:00.000Z",
   "recorded_at": "2026-10-23T16:10:15.273Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.6700",
    "result": "Won",
    "points_hundredths": 6700,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d61b9636f215e7efb16deaf6",
    "quote_text": "We say: Udinese 1-1 AC Milan",
    "fragment_from": 4540,
    "fragment_to": 4568,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/udinese/preview/udinese-vs-ac-milan-prediction-team-news-lineups_607553.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0bd05c640748108b3a439453959f97da1972ca2f75abe75fe527a7103f97ab2b",
     "material_removed": false
    },
    "published_at": "2026-10-23T13:03:00.000Z",
    "detected_at": "2026-10-23T16:10:15.273Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-284831d085bc",
     "display_name": "Udinese — AC Milan",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T19:45:00.000Z",
     "url": "/football/matches/udinese-vs-ac-milan-2026-10-25/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Udinese 1-1 AC Milan",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T13:03:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T13:03:00.000Z",
     "detected_at": "2026-10-23T16:10:15.273Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Udinese 1-1 AC Milan",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Udinese 1-1 AC Milan"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Udinese 0-2 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "869d0dbf721ce29ef5a1a1b808928fba6493d309c7d5b38127743df515a814ae",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.7750",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T09:33:30.376Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/udinese/preview/udinese-vs-ac-milan-prediction-team-news-lineups_607553.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Udinese 1-1 AC Milan"
   }
  },
  {
   "record_id": "n-98eef7e6a8b4436b86b5c22f",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-98eef7e6a8b4436b86b5c22f",
   "match": "Lecce v Juventus",
   "match_url": "/football/matches/lecce-vs-juventus-2026-10-25/",
   "kickoff": "2026-10-25T17:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lecce 0-1 Juventus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T14:47:25.000Z",
   "recorded_at": "2026-10-23T15:10:04.367Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.4550",
    "result": "Won",
    "points_hundredths": 4550,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-98eef7e6a8b4436b86b5c22f",
    "quote_text": "We say: Lecce 0-1 Juventus",
    "fragment_from": 4133,
    "fragment_to": 4159,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lecce/preview/lecce-vs-juventus-prediction-team-news-lineups_607563.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e5211530fc86b6b92e9ba0b5372fb87e6a40704237072660a63a73b9f2a10cb9",
     "material_removed": false
    },
    "published_at": "2026-10-23T14:47:25.000Z",
    "detected_at": "2026-10-23T15:10:04.367Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-38636416f034",
     "display_name": "Lecce — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T17:00:00.000Z",
     "url": "/football/matches/lecce-vs-juventus-2026-10-25/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lecce 0-1 Juventus",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T14:47:25.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T14:47:25.000Z",
     "detected_at": "2026-10-23T15:10:04.367Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Lecce 0-1 Juventus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lecce 0-1 Juventus"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Lecce 0-2 Juventus."
    },
    "settlements": [
     {
      "operation_id": "f0cd6be0524b1ec89163c5fae8f61f5b94eb3944ea2ad79bfd219d326b9ec9eb",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Juventus",
      "decimal_odds": "1.4550",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4550,
      "executed_at": "2026-10-24T09:33:36.023Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/lecce/preview/lecce-vs-juventus-prediction-team-news-lineups_607563.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lecce 0-1 Juventus"
   }
  },
  {
   "record_id": "n-384ae99d5873fc409a7f948d",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-384ae99d5873fc409a7f948d",
   "match": "Atalanta v Frosinone",
   "match_url": "/football/matches/atalanta-vs-frosinone-2026-10-25/",
   "kickoff": "2026-10-25T14:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 53.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Atalanta 2-2 Frosinone",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T07:56:00.000Z",
   "recorded_at": "2026-10-23T08:09:59.052Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.8000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-384ae99d5873fc409a7f948d",
    "quote_text": "We say: Atalanta BC 2-2 Frosinone",
    "fragment_from": 4048,
    "fragment_to": 4081,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/atalanta-bc/preview/atalanta-vs-frosinone-prediction-team-news-lineups_607521.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "275e67339cf10298b797a1ed96c2ea9a791f84c155548c973338f13ad811f66d",
     "material_removed": false
    },
    "published_at": "2026-10-23T07:56:00.000Z",
    "detected_at": "2026-10-23T08:09:59.052Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1cf4836e1aae",
     "display_name": "Atalanta — Frosinone",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T14:00:00.000Z",
     "url": "/football/matches/atalanta-vs-frosinone-2026-10-25/",
     "scoreline": "4-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Atalanta 2-2 Frosinone",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T07:56:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T07:56:00.000Z",
     "detected_at": "2026-10-23T08:09:59.052Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Atalanta 2-2 Frosinone",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Atalanta 2-2 Frosinone"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Atalanta 4-4 Frosinone."
    },
    "settlements": [
     {
      "operation_id": "15b15ccf074aba34574c0ed2a3a8797949d154c6ff7e6b2d98836634d9943614",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 30000,
      "executed_at": "2026-10-24T09:36:04.652Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/atalanta-bc/preview/atalanta-vs-frosinone-prediction-team-news-lineups_607521.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atalanta 2-2 Frosinone"
   }
  },
  {
   "record_id": "n-cd51a709a75401829026d1d1",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-cd51a709a75401829026d1d1",
   "match": "Inter v Fiorentina",
   "match_url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
   "kickoff": "2026-10-25T11:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 37.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 2-1 Fiorentina",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T16:22:00.000Z",
   "recorded_at": "2026-10-23T22:10:12.615Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.3500",
    "result": "Won",
    "points_hundredths": 3500,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-cd51a709a75401829026d1d1",
    "quote_text": "We say: Inter Milan 2-1 Fiorentina",
    "fragment_from": 4679,
    "fragment_to": 4713,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-fiorentina-prediction-team-news-lineups_607570.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7ac94ce0b317a6aae510b50e8b46174f2f12842fb5a977f72c051e40513c7b73",
     "material_removed": false
    },
    "published_at": "2026-10-23T16:22:00.000Z",
    "detected_at": "2026-10-23T22:10:12.615Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-9d1d25085bce",
     "display_name": "Inter — Fiorentina",
     "competition_name": "Serie A",
     "starts_at": "2026-10-25T11:30:00.000Z",
     "url": "/football/matches/inter-vs-fiorentina-2026-10-25/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 2-1 Fiorentina",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T16:22:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T16:22:00.000Z",
     "detected_at": "2026-10-23T22:10:12.615Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter 2-1 Fiorentina",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 2-1 Fiorentina"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Inter 2-1 Fiorentina."
    },
    "settlements": [
     {
      "operation_id": "a7ea471bc2cf254dca0c2f90088c2ab3103a24566617c685d2cbf47974223f95",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.3500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3500,
      "executed_at": "2026-10-24T09:32:39.558Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-fiorentina-prediction-team-news-lineups_607570.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 2-1 Fiorentina"
   }
  },
  {
   "record_id": "n-8703196087ae13c6f061bbd2",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-8703196087ae13c6f061bbd2",
   "match": "Lazio v Parma",
   "match_url": "/football/matches/lazio-vs-parma-2026-10-24/",
   "kickoff": "2026-10-24T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 52.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lazio 2-0 Parma",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T13:56:00.000Z",
   "recorded_at": "2026-10-22T14:10:26.037Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.4000",
    "result": "Won",
    "points_hundredths": 4000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8703196087ae13c6f061bbd2",
    "quote_text": "We say: Lazio 2-0 Parma",
    "fragment_from": 3975,
    "fragment_to": 3998,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-parma-prediction-team-news-lineups_607460.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "093cbcf8e3a5258f1835afa58d268bea2f736221f1088f1efc78f87f320721e2",
     "material_removed": false
    },
    "published_at": "2026-10-22T13:56:00.000Z",
    "detected_at": "2026-10-22T14:10:26.037Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1dca3b8123af",
     "display_name": "Lazio — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T18:45:00.000Z",
     "url": "/football/matches/lazio-vs-parma-2026-10-24/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lazio 2-0 Parma",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T13:56:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T13:56:00.000Z",
     "detected_at": "2026-10-22T14:10:26.037Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Lazio 2-0 Parma",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lazio 2-0 Parma"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Lazio 2-1 Parma."
    },
    "settlements": [
     {
      "operation_id": "92ae4f6e3c8f91eeaa2350db554149e3b7fb6c4af44a2aa14a622ac7b508a59f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lazio",
      "decimal_odds": "1.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4000,
      "executed_at": "2026-10-24T00:51:15.753Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-parma-prediction-team-news-lineups_607460.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lazio 2-0 Parma"
   }
  },
  {
   "record_id": "n-bfced8030f19ff5c689ddd34",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-bfced8030f19ff5c689ddd34",
   "match": "SSC Napoli v AS Roma",
   "match_url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
   "kickoff": "2026-10-24T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SSC Napoli 1-2 AS Roma",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T17:52:00.000Z",
   "recorded_at": "2026-10-22T18:10:03.886Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.4700",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-bfced8030f19ff5c689ddd34",
    "quote_text": "We say: Napoli 1-2 Roma",
    "fragment_from": 4499,
    "fragment_to": 4522,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-roma-prediction-team-news-lineups_607480.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cc8b3031a1432bf2e390ecdfba28832549dac532c8338ab501d2c73dd0e59221",
     "material_removed": false
    },
    "published_at": "2026-10-22T17:52:00.000Z",
    "detected_at": "2026-10-22T18:10:03.886Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-eb0fa85672d7",
     "display_name": "SSC Napoli — AS Roma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T16:00:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-as-roma-2026-10-24/",
     "scoreline": "3-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SSC Napoli 1-2 AS Roma",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T17:52:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T17:52:00.000Z",
     "detected_at": "2026-10-22T18:10:03.886Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "SSC Napoli 1-2 AS Roma",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SSC Napoli 1-2 AS Roma"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was SSC Napoli 3-3 AS Roma."
    },
    "settlements": [
     {
      "operation_id": "0164d980b015d52cd64d8b8a090201157b6bce2041d25da1390c8bd9403f1ab4",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "AS Roma",
      "decimal_odds": "2.4700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:49:07.721Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-roma-prediction-team-news-lineups_607480.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SSC Napoli 1-2 AS Roma"
   }
  },
  {
   "record_id": "n-5b3a222928f2a82adec16b70",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-5b3a222928f2a82adec16b70",
   "match": "Como v Sassuolo",
   "match_url": "/football/matches/como-vs-sassuolo-2026-10-24/",
   "kickoff": "2026-10-24T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Como 2-1 Sassuolo",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T15:44:31.000Z",
   "recorded_at": "2026-10-22T16:10:06.525Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5000",
    "result": "Won",
    "points_hundredths": 5000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5b3a222928f2a82adec16b70",
    "quote_text": "We say: Como 2-1 Sassuolo",
    "fragment_from": 4229,
    "fragment_to": 4254,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-sassuolo-prediction-team-news-lineups_607472.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e5cb5d1ab590085768351e42345b99e5369d2695f6ec7b96de4a6f0232156a66",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:44:31.000Z",
    "detected_at": "2026-10-22T16:10:06.525Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-de309de5eaa4",
     "display_name": "Como — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-10-24T13:00:00.000Z",
     "url": "/football/matches/como-vs-sassuolo-2026-10-24/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Como 2-1 Sassuolo",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T15:44:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:44:31.000Z",
     "detected_at": "2026-10-22T16:10:06.525Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Como 2-1 Sassuolo",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Como 2-1 Sassuolo"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Como 2-0 Sassuolo."
    },
    "settlements": [
     {
      "operation_id": "b318c54f493d0853991f5dfcef59b92e7b342969647c9749423a8f159321abb0",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Como",
      "decimal_odds": "1.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-10-24T00:50:23.273Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-sassuolo-prediction-team-news-lineups_607472.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Como 2-1 Sassuolo"
   }
  },
  {
   "record_id": "n-b0e71a2e5dc32f48ad1ed362",
   "url": "/authors/jonathan-o-shea/picks/4/#pick-n-b0e71a2e5dc32f48ad1ed362",
   "match": "Torino v Monza",
   "match_url": "/football/matches/torino-vs-monza-2026-10-23/",
   "kickoff": "2026-10-23T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Torino 2-1 Monza",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-21T14:36:53.000Z",
   "recorded_at": "2026-10-21T15:09:58.597Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1000",
    "result": "Won",
    "points_hundredths": 11000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b0e71a2e5dc32f48ad1ed362",
    "quote_text": "We say: Torino 2-1 Monza",
    "fragment_from": 3925,
    "fragment_to": 3949,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-monza-prediction-team-news-lineups_607372.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "eba92ff2e372e5785fb7ef0e3aaff52587727d2a7a8eb0f5d9513e2df6f913dc",
     "material_removed": false
    },
    "published_at": "2026-10-21T14:36:53.000Z",
    "detected_at": "2026-10-21T15:09:58.597Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d322079b35a0",
     "display_name": "Torino — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-23T18:45:00.000Z",
     "url": "/football/matches/torino-vs-monza-2026-10-23/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Torino 2-1 Monza",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T14:36:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T14:36:53.000Z",
     "detected_at": "2026-10-21T15:09:58.597Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Torino 2-1 Monza",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Torino 2-1 Monza"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Torino 3-2 Monza."
    },
    "settlements": [
     {
      "operation_id": "eb2c63dab8a5cda5081e63c0384ebffa6ba7b2dc997a3a6ae4c660879c9fdcf4",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Torino",
      "decimal_odds": "2.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-10-23T00:44:03.055Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-monza-prediction-team-news-lineups_607372.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Torino 2-1 Monza"
   }
  },
  {
   "record_id": "n-553ae72c97bcb9c06210243c",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-553ae72c97bcb9c06210243c",
   "match": "AFC Bournemouth v AC Milan",
   "match_url": "/football/matches/afc-bournemouth-vs-ac-milan-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 50.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AFC Bournemouth 2-2 AC Milan",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T15:29:00.000Z",
   "recorded_at": "2026-10-20T16:09:56.775Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1250",
    "result": "Won",
    "points_hundredths": 11250,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-553ae72c97bcb9c06210243c",
    "quote_text": "We say: Bournemouth 2-2 AC Milan",
    "fragment_from": 4649,
    "fragment_to": 4681,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bournemouth/europa-league/preview/bournemouth-vs-ac-milan-prediction-team-news-lineups_607303.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "de072658d0be128297bfa21a47e490795a93c4b619fa746744dfef5d3a7766ba",
     "material_removed": false
    },
    "published_at": "2026-10-20T15:29:00.000Z",
    "detected_at": "2026-10-20T16:09:56.775Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4aecbe417a21",
     "display_name": "AFC Bournemouth — AC Milan",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/afc-bournemouth-vs-ac-milan-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AFC Bournemouth 2-2 AC Milan",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T15:29:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T15:29:00.000Z",
     "detected_at": "2026-10-20T16:09:56.775Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AFC Bournemouth 2-2 AC Milan",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AFC Bournemouth 2-2 AC Milan"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AFC Bournemouth 3-0 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "3b33a189f6cea21b171714c3080b6bcf523a2767105ea4b96454009dedcb050d",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.6300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:45:59.461Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/bournemouth/europa-league/preview/bournemouth-vs-ac-milan-prediction-team-news-lineups_607303.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Bournemouth 2-2 AC Milan"
   }
  },
  {
   "record_id": "n-01514687abee24d30771a490",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-01514687abee24d30771a490",
   "match": "Juventus v Stade Rennais",
   "match_url": "/football/matches/juventus-vs-stade-rennais-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 50.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Juventus 2-1 Stade Rennais",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T13:36:00.000Z",
   "recorded_at": "2026-10-20T14:09:54.476Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5650",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-01514687abee24d30771a490",
    "quote_text": "We say: Juventus 2-1 Rennes",
    "fragment_from": 4661,
    "fragment_to": 4688,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/juventus/europa-league/preview/juventus-vs-rennes-prediction-team-news-lineups_607298.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a45cbf2b42c9a7fb97dab1192c0589d1f750bbb622d0df25ff2e4d806a662000",
     "material_removed": false
    },
    "published_at": "2026-10-20T13:36:00.000Z",
    "detected_at": "2026-10-20T14:09:54.476Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8f0618bc68e7",
     "display_name": "Juventus — Stade Rennais",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/juventus-vs-stade-rennais-2026-10-22/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Juventus 2-1 Stade Rennais",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T13:36:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T13:36:00.000Z",
     "detected_at": "2026-10-20T14:09:54.476Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Juventus 2-1 Stade Rennais",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Juventus 2-1 Stade Rennais"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Juventus 2-2 Stade Rennais."
    },
    "settlements": [
     {
      "operation_id": "d4bf11f6d10335b7c807b1ee7d654f39cbc0f0cc05c124708f9b83dde91eb48d",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Juventus",
      "decimal_odds": "1.5650",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T00:46:22.648Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/juventus/europa-league/preview/juventus-vs-rennes-prediction-team-news-lineups_607298.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Juventus 2-1 Stade Rennais"
   }
  },
  {
   "record_id": "n-c699c20fc00db05b2a7106de",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-c699c20fc00db05b2a7106de",
   "match": "Inter v Shakhtar Donetsk",
   "match_url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 2-1 Shakhtar Donetsk",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T14:45:54.000Z",
   "recorded_at": "2026-10-19T15:10:09.051Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.1887",
    "result": "Won",
    "points_hundredths": 1887,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c699c20fc00db05b2a7106de",
    "quote_text": "We say: Inter Milan 2-1 Shakhtar Donetsk",
    "fragment_from": 4867,
    "fragment_to": 4907,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/inter-milan/champions-league/preview/inter-milan-vs-shakhtar-prediction-team-news-lineups_607239.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cbc92bcfef6fef5e7c443f9df4e402a96f5c2350d9742a921e424c3c7a3d5f38",
     "material_removed": false
    },
    "published_at": "2026-10-19T14:45:54.000Z",
    "detected_at": "2026-10-19T15:10:09.051Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d3d27a7c8131",
     "display_name": "Inter — Shakhtar Donetsk",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/inter-vs-shakhtar-donetsk-2026-10-21/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 2-1 Shakhtar Donetsk",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T14:45:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T14:45:54.000Z",
     "detected_at": "2026-10-19T15:10:09.051Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter 2-1 Shakhtar Donetsk",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 2-1 Shakhtar Donetsk"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Inter 1-0 Shakhtar Donetsk."
    },
    "settlements": [
     {
      "operation_id": "1447ab9a562c9f14ec93d1fde810ae2e486f297f8c87a67c3e3e7925e9746741",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.1887",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 1887,
      "executed_at": "2026-10-21T00:37:57.331Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/inter-milan/champions-league/preview/inter-milan-vs-shakhtar-prediction-team-news-lineups_607239.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 2-1 Shakhtar Donetsk"
   }
  },
  {
   "record_id": "n-2f5bca55be1b83a773f74633",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-2f5bca55be1b83a773f74633",
   "match": "AS Roma v Slovan Bratislava",
   "match_url": "/football/matches/as-roma-vs-slovan-bratislava-2026-10-20/",
   "kickoff": "2026-10-20T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 56.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AS Roma 2-0 Slovan Bratislava",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T09:48:00.000Z",
   "recorded_at": "2026-10-18T10:09:58.441Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.1400",
    "result": "Won",
    "points_hundredths": 1400,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-2f5bca55be1b83a773f74633",
    "quote_text": "We say: Roma 2-0 Slovan Bratislava",
    "fragment_from": 5084,
    "fragment_to": 5118,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/roma/champions-league/preview/roma-vs-slovan-bratislava-prediction-team-news-lineups_607148.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8a22d63b51fd5fee3018ff7c9d08613881162614a806147e6ffa373c4b4efac",
     "material_removed": false
    },
    "published_at": "2026-10-18T09:48:00.000Z",
    "detected_at": "2026-10-18T10:09:58.441Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-da54e0145072",
     "display_name": "AS Roma — Slovan Bratislava",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T19:00:00.000Z",
     "url": "/football/matches/as-roma-vs-slovan-bratislava-2026-10-20/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AS Roma 2-0 Slovan Bratislava",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T09:48:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T09:48:00.000Z",
     "detected_at": "2026-10-18T10:09:58.441Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AS Roma 2-0 Slovan Bratislava",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AS Roma 2-0 Slovan Bratislava"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AS Roma 4-0 Slovan Bratislava."
    },
    "settlements": [
     {
      "operation_id": "f51db0c9cb5fd08c5cc2184f5f1e8fbff9d1a15a42dd637367136e175fa81670",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "AS Roma",
      "decimal_odds": "1.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 1500,
      "executed_at": "2026-10-21T00:40:22.198Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/roma/champions-league/preview/roma-vs-slovan-bratislava-prediction-team-news-lineups_607148.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AS Roma 2-0 Slovan Bratislava"
   }
  },
  {
   "record_id": "n-962e500a3d64d84da51f0863",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-962e500a3d64d84da51f0863",
   "match": "SSC Napoli v Bodø/Glimt",
   "match_url": "/football/matches/ssc-napoli-vs-bodo-glimt-2026-10-20/",
   "kickoff": "2026-10-20T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 57.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SSC Napoli 1-1 Bodø/Glimt",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T08:00:00.000Z",
   "recorded_at": "2026-10-18T09:09:56.875Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5917",
    "result": "Won",
    "points_hundredths": 5917,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-962e500a3d64d84da51f0863",
    "quote_text": "We say: Napoli 1-1 Bodo/Glimt",
    "fragment_from": 4844,
    "fragment_to": 4873,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/napoli/champions-league/preview/napoli-vs-bodoglimt-prediction-team-news-lineups_607142.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "65e4da20351cba6039fea9f7d9622d7187e4645aa80d0b4bbb4ce0b80e684a46",
     "material_removed": false
    },
    "published_at": "2026-10-18T08:00:00.000Z",
    "detected_at": "2026-10-18T09:09:56.875Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3c46fad2c79f",
     "display_name": "SSC Napoli — Bodø/Glimt",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T19:00:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-bodo-glimt-2026-10-20/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SSC Napoli 1-1 Bodø/Glimt",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T08:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T08:00:00.000Z",
     "detected_at": "2026-10-18T09:09:56.875Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "SSC Napoli 1-1 Bodø/Glimt",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SSC Napoli 1-1 Bodø/Glimt"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was SSC Napoli 4-3 Bodø/Glimt."
    },
    "settlements": [
     {
      "operation_id": "1e3b24dbb7344bed8cf4e03dffdf422b870d69045f14adfceca8af164e06f87c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "4.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-21T00:40:22.252Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/napoli/champions-league/preview/napoli-vs-bodoglimt-prediction-team-news-lineups_607142.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SSC Napoli 1-1 Bodø/Glimt"
   }
  },
  {
   "record_id": "n-8f737620027bd3f723994330",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-8f737620027bd3f723994330",
   "match": "Parma v Torino",
   "match_url": "/football/matches/parma-vs-torino-2026-10-19/",
   "kickoff": "2026-10-19T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 56.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Parma 0-1 Torino",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T09:39:29.000Z",
   "recorded_at": "2026-10-17T10:09:55.850Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.3700",
    "result": "Won",
    "points_hundredths": 13700,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8f737620027bd3f723994330",
    "quote_text": "We say: Parma 0-1 Torino",
    "fragment_from": 3848,
    "fragment_to": 3872,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-torino-prediction-team-news-lineups_607108.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "296cbab19bbc5c228fc9b60279ac7a26034b8f80262354a50db3f6754fed9643",
     "material_removed": false
    },
    "published_at": "2026-10-17T09:39:29.000Z",
    "detected_at": "2026-10-17T10:09:55.850Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-550a1d932859",
     "display_name": "Parma — Torino",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T18:45:00.000Z",
     "url": "/football/matches/parma-vs-torino-2026-10-19/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Parma 0-1 Torino",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T09:39:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T09:39:29.000Z",
     "detected_at": "2026-10-17T10:09:55.850Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Parma 0-1 Torino",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Parma 0-1 Torino"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Parma 0-3 Torino."
    },
    "settlements": [
     {
      "operation_id": "baecbeebe9005e764ad305aa6eabf616a7f985056fa5b809fd9c96c9d61aa4c2",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Torino",
      "decimal_odds": "2.3700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13700,
      "executed_at": "2026-10-18T06:17:49.255Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/parma/preview/parma-vs-torino-prediction-team-news-lineups_607108.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Parma 0-1 Torino"
   }
  },
  {
   "record_id": "n-76bde772f13d916ae72daf86",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-76bde772f13d916ae72daf86",
   "match": "Monza v Cagliari",
   "match_url": "/football/matches/monza-vs-cagliari-2026-10-19/",
   "kickoff": "2026-10-19T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 55.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monza 1-2 Cagliari",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T08:13:00.000Z",
   "recorded_at": "2026-10-17T09:10:02.484Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3800",
    "result": "Won",
    "points_hundredths": 13800,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-76bde772f13d916ae72daf86",
    "quote_text": "We say: Monza 1-2 Cagliari",
    "fragment_from": 3536,
    "fragment_to": 3562,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-cagliari-prediction-team-news-lineups_607101.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7434bdffc888fa09e810c453c00051e0e32b87ed71aa2148d9ff3a99758e19e0",
     "material_removed": false
    },
    "published_at": "2026-10-17T08:13:00.000Z",
    "detected_at": "2026-10-17T09:10:02.484Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ecbe80b1f6a",
     "display_name": "Monza — Cagliari",
     "competition_name": "Serie A",
     "starts_at": "2026-10-19T16:30:00.000Z",
     "url": "/football/matches/monza-vs-cagliari-2026-10-19/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monza 1-2 Cagliari",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-17T08:13:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T08:13:00.000Z",
     "detected_at": "2026-10-17T09:10:02.484Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Monza 1-2 Cagliari",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monza 1-2 Cagliari"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Monza 4-0 Cagliari."
    },
    "settlements": [
     {
      "operation_id": "e850425e2dae4d2f3eae57e1febf5da6f15994316b1f4f090cef6d3a3b804a6c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Cagliari",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:10:43.957Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/monza/preview/monza-vs-cagliari-prediction-team-news-lineups_607101.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monza 1-2 Cagliari"
   }
  },
  {
   "record_id": "n-f8b844b38854ba5d7b79dfea",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-f8b844b38854ba5d7b79dfea",
   "match": "Juventus v Lazio",
   "match_url": "/football/matches/juventus-vs-lazio-2026-10-18/",
   "kickoff": "2026-10-18T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Juventus 1-1 Lazio",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T13:26:00.000Z",
   "recorded_at": "2026-10-16T21:09:52.735Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6667",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f8b844b38854ba5d7b79dfea",
    "quote_text": "We say: Juventus 1-1 Lazio",
    "fragment_from": 4175,
    "fragment_to": 4201,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-lazio-prediction-team-news-lineups_607051.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4c54a554bd0f1e48c21b0f8009e7ac49c8ebeb4240bc59e8737377185a536dac",
     "material_removed": false
    },
    "published_at": "2026-10-16T13:26:00.000Z",
    "detected_at": "2026-10-16T21:09:52.735Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5093c67a6064",
     "display_name": "Juventus — Lazio",
     "competition_name": "Serie A",
     "starts_at": "2026-10-18T18:45:00.000Z",
     "url": "/football/matches/juventus-vs-lazio-2026-10-18/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Juventus 1-1 Lazio",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T13:26:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T13:26:00.000Z",
     "detected_at": "2026-10-16T21:09:52.735Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Juventus 1-1 Lazio",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Juventus 1-1 Lazio"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Juventus 0-3 Lazio."
    },
    "settlements": [
     {
      "operation_id": "3f87cdc1f179c885561c81c3949b5e41f3aa5a337bbda8789dd26fd54ddfffa0",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T12:38:34.908Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/preview/juventus-vs-lazio-prediction-team-news-lineups_607051.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Juventus 1-1 Lazio"
   }
  },
  {
   "record_id": "n-7adcaf1e3fb6fab016b38631",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-7adcaf1e3fb6fab016b38631",
   "match": "AC Milan v Atalanta",
   "match_url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
   "kickoff": "2026-10-18T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AC Milan 2-1 Atalanta",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T11:58:00.000Z",
   "recorded_at": "2026-10-16T12:09:48.526Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.8000",
    "result": "Won",
    "points_hundredths": 8000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7adcaf1e3fb6fab016b38631",
    "quote_text": "We say: AC Milan 2-1 Atalanta BC",
    "fragment_from": 4294,
    "fragment_to": 4326,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/ac-milan/preview/ac-milan-vs-atalanta-prediction-team-news-lineups_607046.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e37035fa1ca88423c01a6d6dc12207a93a4ab22bfce6cb729858ea6d9b4d683c",
     "material_removed": false
    },
    "published_at": "2026-10-16T11:58:00.000Z",
    "detected_at": "2026-10-16T12:09:48.526Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e6b8273ecffa",
     "display_name": "AC Milan — Atalanta",
     "competition_name": "Serie A",
     "starts_at": "2026-10-18T16:00:00.000Z",
     "url": "/football/matches/ac-milan-vs-atalanta-2026-10-18/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AC Milan 2-1 Atalanta",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T11:58:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T11:58:00.000Z",
     "detected_at": "2026-10-16T12:09:48.526Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AC Milan 2-1 Atalanta",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AC Milan 2-1 Atalanta"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AC Milan 3-2 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "6fcd0e432170e99691a4ca3374a3d58713cb7ac6fe76efc95d4c46e6632a1997",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "AC Milan",
      "decimal_odds": "1.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-10-24T09:43:55.741Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/ac-milan/preview/ac-milan-vs-atalanta-prediction-team-news-lineups_607046.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AC Milan 2-1 Atalanta"
   }
  },
  {
   "record_id": "n-5b733d9371d70e5ad4eb6962",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-5b733d9371d70e5ad4eb6962",
   "match": "AS Roma v Genoa",
   "match_url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
   "kickoff": "2026-10-17T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 48.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AS Roma 2-0 Genoa",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T17:16:00.000Z",
   "recorded_at": "2026-10-15T18:09:48.985Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.4405",
    "result": "Won",
    "points_hundredths": 4405,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-5b733d9371d70e5ad4eb6962",
    "quote_text": "We say: Roma 2-0 Genoa",
    "fragment_from": 4562,
    "fragment_to": 4584,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-genoa-prediction-team-news-lineups_606982.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "82f7787dd297216f502e31ca35414c31f71b14acb3ff00ffeea99cbbddf86583",
     "material_removed": false
    },
    "published_at": "2026-10-15T17:16:00.000Z",
    "detected_at": "2026-10-15T18:09:48.985Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7163016c6723",
     "display_name": "AS Roma — Genoa",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T18:45:00.000Z",
     "url": "/football/matches/as-roma-vs-genoa-2026-10-17/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AS Roma 2-0 Genoa",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T17:16:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T17:16:00.000Z",
     "detected_at": "2026-10-15T18:09:48.985Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AS Roma 2-0 Genoa",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AS Roma 2-0 Genoa"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was AS Roma 2-0 Genoa."
    },
    "settlements": [
     {
      "operation_id": "916e3399dbcf135c5cb31ab682dc1b4c24ea92b4bd88e916026f9ca14ec6e2f7",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "AS Roma",
      "decimal_odds": "1.4405",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4405,
      "executed_at": "2026-10-15T20:59:31.022Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/roma/preview/roma-vs-genoa-prediction-team-news-lineups_606982.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AS Roma 2-0 Genoa"
   }
  },
  {
   "record_id": "n-197b25da97ada5435e183158",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-197b25da97ada5435e183158",
   "match": "Bologna v Inter",
   "match_url": "/football/matches/bologna-vs-inter-2026-10-17/",
   "kickoff": "2026-10-17T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 47.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Bologna 0-2 Inter",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T15:47:56.000Z",
   "recorded_at": "2026-10-15T16:09:49.263Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.5814",
    "result": "Won",
    "points_hundredths": 5814,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-197b25da97ada5435e183158",
    "quote_text": "We say: Bologna 0-2 Inter Milan",
    "fragment_from": 3901,
    "fragment_to": 3932,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/bologna/preview/bologna-vs-inter-milan-prediction-team-news-lineups_606975.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "eae0278f9afc9a5f072df85d0b3f0a33acbe573cc27f67577eccac7b8cdb6690",
     "material_removed": false
    },
    "published_at": "2026-10-15T15:47:56.000Z",
    "detected_at": "2026-10-15T16:09:49.263Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0269219b78f7",
     "display_name": "Bologna — Inter",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T16:00:00.000Z",
     "url": "/football/matches/bologna-vs-inter-2026-10-17/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Bologna 0-2 Inter",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T15:47:56.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T15:47:56.000Z",
     "detected_at": "2026-10-15T16:09:49.263Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Bologna 0-2 Inter",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Bologna 0-2 Inter"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Bologna 1-3 Inter."
    },
    "settlements": [
     {
      "operation_id": "2254f313d5a4b920984c679a51c48fb4e12c185b6f0d915d466fa5d65ece7164",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.5814",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5814,
      "executed_at": "2026-10-15T16:40:22.671Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/bologna/preview/bologna-vs-inter-milan-prediction-team-news-lineups_606975.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Bologna 0-2 Inter"
   }
  },
  {
   "record_id": "n-8dc01854e5f5a7152f47c3e0",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-8dc01854e5f5a7152f47c3e0",
   "match": "Venezia v SSC Napoli",
   "match_url": "/football/matches/venezia-vs-ssc-napoli-2026-10-17/",
   "kickoff": "2026-10-17T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 45.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Venezia 0-2 SSC Napoli",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T14:28:33.000Z",
   "recorded_at": "2026-10-15T15:09:53.840Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.6667",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8dc01854e5f5a7152f47c3e0",
    "quote_text": "We say: Venezia 0-2 Napoli",
    "fragment_from": 4519,
    "fragment_to": 4545,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-napoli-prediction-team-news-lineups_606967.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ab8240cfb74de291d54f06f1daa62aa06c36d6c6f1a4b3764446c363e054ed22",
     "material_removed": false
    },
    "published_at": "2026-10-15T14:28:33.000Z",
    "detected_at": "2026-10-15T15:09:53.840Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f82840de1bc9",
     "display_name": "Venezia — SSC Napoli",
     "competition_name": "Serie A",
     "starts_at": "2026-10-17T13:00:00.000Z",
     "url": "/football/matches/venezia-vs-ssc-napoli-2026-10-17/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Venezia 0-2 SSC Napoli",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T14:28:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T14:28:33.000Z",
     "detected_at": "2026-10-15T15:09:53.840Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Venezia 0-2 SSC Napoli",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Venezia 0-2 SSC Napoli"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Venezia 1-0 SSC Napoli."
    },
    "settlements": [
     {
      "operation_id": "fc646cb535d98aecad976a4ef42b2da092c5a38258103a32f2768c1956a0f58a",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "SSC Napoli",
      "decimal_odds": "1.6667",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-15T15:11:50.499Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/venezia/preview/venezia-vs-napoli-prediction-team-news-lineups_606967.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Venezia 0-2 SSC Napoli"
   }
  },
  {
   "record_id": "n-eb20ae45d4ecd7c8e845640b",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-eb20ae45d4ecd7c8e845640b",
   "match": "Frosinone v Sassuolo",
   "match_url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
   "kickoff": "2026-10-16T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Frosinone 1-2 Sassuolo",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T14:08:28.000Z",
   "recorded_at": "2026-10-14T15:09:49.860Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.5000",
    "result": "Won",
    "points_hundredths": 15000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-eb20ae45d4ecd7c8e845640b",
    "quote_text": "We say: Frosinone 1-2 Sassuolo",
    "fragment_from": 3910,
    "fragment_to": 3940,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-sassuolo-prediction-team-news-lineups_606881.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f2d802c2dc0b6c910d43cc16373c034ed830db98d5fd52b430929a780d784afd",
     "material_removed": false
    },
    "published_at": "2026-10-14T14:08:28.000Z",
    "detected_at": "2026-10-14T15:09:49.860Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d362eb8e26a8",
     "display_name": "Frosinone — Sassuolo",
     "competition_name": "Serie A",
     "starts_at": "2026-10-16T18:45:00.000Z",
     "url": "/football/matches/frosinone-vs-sassuolo-2026-10-16/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Frosinone 1-2 Sassuolo",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-14T14:08:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-14T14:08:28.000Z",
     "detected_at": "2026-10-14T15:09:49.860Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Frosinone 1-2 Sassuolo",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Frosinone 1-2 Sassuolo"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Frosinone 4-2 Sassuolo."
    },
    "settlements": [
     {
      "operation_id": "bdd6f2ec6b96684070d93c99115479208af63811e1b35dc906380d945934a6fe",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Sassuolo",
      "decimal_odds": "2.6000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-14T21:11:32.669Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/frosinone/preview/frosinone-vs-sassuolo-prediction-team-news-lineups_606881.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Frosinone 1-2 Sassuolo"
   }
  },
  {
   "record_id": "n-0a1df6a48168f1e5f95ed79a",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-0a1df6a48168f1e5f95ed79a",
   "match": "Celta Vigo v Juventus",
   "match_url": "/football/matches/celta-vigo-vs-juventus-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 50.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Celta Vigo 1-2 Juventus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T15:52:00.000Z",
   "recorded_at": "2026-10-13T16:09:52.766Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.1000",
    "result": "Won",
    "points_hundredths": 11000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0a1df6a48168f1e5f95ed79a",
    "quote_text": "We say: Celta Vigo 1-2 Juventus",
    "fragment_from": 4515,
    "fragment_to": 4546,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/celta-vigo/europa-league/preview/celta-vigo-vs-juventus-prediction-team-news-lineups_606821.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fcee7e40b13887cdaf0ac89982a71ae2571298fa016ebbdb84dffe8cd7b2d71f",
     "material_removed": false
    },
    "published_at": "2026-10-13T15:52:00.000Z",
    "detected_at": "2026-10-13T16:09:52.766Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ee7653b4f9b4",
     "display_name": "Celta Vigo — Juventus",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/celta-vigo-vs-juventus-2026-10-15/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Celta Vigo 1-2 Juventus",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-13T15:52:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T15:52:00.000Z",
     "detected_at": "2026-10-13T16:09:52.766Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Celta Vigo 1-2 Juventus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Celta Vigo 1-2 Juventus"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Celta Vigo 1-2 Juventus."
    },
    "settlements": [
     {
      "operation_id": "6509e515005132d25e6c6f2f42718bd062de5cff5ae77bd5670d166ca966fa0b",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Juventus",
      "decimal_odds": "2.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-10-13T22:41:59.760Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/celta-vigo/europa-league/preview/celta-vigo-vs-juventus-prediction-team-news-lineups_606821.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Celta Vigo 1-2 Juventus"
   }
  },
  {
   "record_id": "n-d44724c8b41d90e899e4825d",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-d44724c8b41d90e899e4825d",
   "match": "Red Bull Salzburg v AC Milan",
   "match_url": "/football/matches/red-bull-salzburg-vs-ac-milan-2026-10-15/",
   "kickoff": "2026-10-15T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 46.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Red Bull Salzburg 1-1 AC Milan",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T14:23:00.000Z",
   "recorded_at": "2026-10-13T18:09:50.311Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.8000",
    "result": "Won",
    "points_hundredths": 8000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d44724c8b41d90e899e4825d",
    "quote_text": "We say: Red Bull Salzburg 1-1 AC Milan",
    "fragment_from": 4217,
    "fragment_to": 4255,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/red-bull-salzburg/europa-league/preview/salzburg-vs-ac-milan-prediction-team-news-lineups_606816.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "395fb07bc17a0cbfe11c212694b5a979a4df7d0b2ea5412ab7a91d272705d119",
     "material_removed": false
    },
    "published_at": "2026-10-13T14:23:00.000Z",
    "detected_at": "2026-10-13T18:09:50.311Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f734162919a3",
     "display_name": "Red Bull Salzburg — AC Milan",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T16:45:00.000Z",
     "url": "/football/matches/red-bull-salzburg-vs-ac-milan-2026-10-15/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Red Bull Salzburg 1-1 AC Milan",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-13T14:23:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T14:23:00.000Z",
     "detected_at": "2026-10-13T18:09:50.311Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Red Bull Salzburg 1-1 AC Milan",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Red Bull Salzburg 1-1 AC Milan"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Red Bull Salzburg 0-4 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "cfc62adbc9518f8bf67fdd3c65e8379d4bd928452d779b3a5494cdd3f94b9fef",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.9000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-13T18:13:27.450Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/red-bull-salzburg/europa-league/preview/salzburg-vs-ac-milan-prediction-team-news-lineups_606816.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Red Bull Salzburg 1-1 AC Milan"
   }
  },
  {
   "record_id": "n-600c364f6bcbf513f11350aa",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-600c364f6bcbf513f11350aa",
   "match": "AS Roma v Real Madrid",
   "match_url": "/football/matches/as-roma-vs-real-madrid-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 38.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AS Roma 1-2 Real Madrid",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-12T15:04:00.000Z",
   "recorded_at": "2026-10-13T04:09:46.863Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.8700",
    "result": "Won",
    "points_hundredths": 8700,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-600c364f6bcbf513f11350aa",
    "quote_text": "We say: Roma 1-2 Real Madrid",
    "fragment_from": 5666,
    "fragment_to": 5694,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/roma/champions-league/preview/roma-vs-real-madrid-prediction-team-news-lineups_606745.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f9208c5f424eba0e4e51de9b696d5780eb708a9da2e8bc40f8ba61d4917853b5",
     "material_removed": false
    },
    "published_at": "2026-10-12T15:04:00.000Z",
    "detected_at": "2026-10-13T04:09:46.863Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5ee031909a68",
     "display_name": "AS Roma — Real Madrid",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/as-roma-vs-real-madrid-2026-10-14/",
     "scoreline": "3-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AS Roma 1-2 Real Madrid",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-12T15:04:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T15:04:00.000Z",
     "detected_at": "2026-10-13T04:09:46.863Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AS Roma 1-2 Real Madrid",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AS Roma 1-2 Real Madrid"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AS Roma 3-4 Real Madrid."
    },
    "settlements": [
     {
      "operation_id": "91e78e2b38c69a4dba89fffa00beec599136123a2f22c80fd5249c353e81d79c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Real Madrid",
      "decimal_odds": "1.8600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8600,
      "executed_at": "2026-10-13T04:12:15.940Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/roma/champions-league/preview/roma-vs-real-madrid-prediction-team-news-lineups_606745.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AS Roma 1-2 Real Madrid"
   }
  },
  {
   "record_id": "n-7f1c488900b3277f23baf7f7",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-7f1c488900b3277f23baf7f7",
   "match": "Villarreal v SSC Napoli",
   "match_url": "/football/matches/villarreal-vs-ssc-napoli-2026-10-13/",
   "kickoff": "2026-10-13T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 55.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Villarreal 1-1 SSC Napoli",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-11T10:58:15.000Z",
   "recorded_at": "2026-10-11T11:09:51.164Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1900",
    "result": "Won",
    "points_hundredths": 11900,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7f1c488900b3277f23baf7f7",
    "quote_text": "We say: Villarreal 1-1 Napoli",
    "fragment_from": 4583,
    "fragment_to": 4612,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/villarreal/champions-league/preview/villarreal-vs-napoli-prediction-team-news-lineups_606662.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "748adee712541c6c5bc8bcd424de6255b8c306e5d6859ba0e27de495564b89e3",
     "material_removed": false
    },
    "published_at": "2026-10-11T10:58:15.000Z",
    "detected_at": "2026-10-11T11:09:51.164Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-dfd94b3dad49",
     "display_name": "Villarreal — SSC Napoli",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T19:00:00.000Z",
     "url": "/football/matches/villarreal-vs-ssc-napoli-2026-10-13/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Villarreal 1-1 SSC Napoli",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T10:58:15.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T10:58:15.000Z",
     "detected_at": "2026-10-11T11:09:51.164Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Villarreal 1-1 SSC Napoli",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Villarreal 1-1 SSC Napoli"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Villarreal 3-1 SSC Napoli."
    },
    "settlements": [
     {
      "operation_id": "9bce46d1618740149354a17f17a2f72964756f97965be7921670cfc69179711f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.6350",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T19:49:31.165Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/villarreal/champions-league/preview/villarreal-vs-napoli-prediction-team-news-lineups_606662.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Villarreal 1-1 SSC Napoli"
   }
  },
  {
   "record_id": "n-4153bb28c11589ea21164e45",
   "url": "/authors/jonathan-o-shea/picks/3/#pick-n-4153bb28c11589ea21164e45",
   "match": "Inter v Club Brugge KV",
   "match_url": "/football/matches/inter-vs-club-brugge-kv-2026-10-13/",
   "kickoff": "2026-10-13T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 2.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 3-1 Club Brugge KV",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-11T13:13:00.000Z",
   "recorded_at": "2026-10-13T16:05:39.115Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.2222",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole, RSS feed",
   "correction": null,
   "evidence": {
    "observation_id": "n-4153bb28c11589ea21164e45",
    "quote_text": "We say: Inter Milan 3-1 Club Brugge",
    "fragment_from": 4876,
    "fragment_to": 4911,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/inter-milan/champions-league/preview/inter-milan-vs-brugge-prediction-team-news-lineups_606669.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "380e97e1bad3eea1bb11cf9613587fa0443e83db558bbdde37cbfd82bf01b274",
     "material_removed": false
    },
    "published_at": "2026-10-11T13:13:00.000Z",
    "detected_at": "2026-10-13T16:05:39.115Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4374858573f2",
     "display_name": "Inter — Club Brugge KV",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T19:00:00.000Z",
     "url": "/football/matches/inter-vs-club-brugge-kv-2026-10-13/",
     "scoreline": "3-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 3-1 Club Brugge KV",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-11T13:13:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T13:13:00.000Z",
     "detected_at": "2026-10-13T16:05:39.115Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter 3-1 Club Brugge KV",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 3-1 Club Brugge KV"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Inter 3-4 Club Brugge KV."
    },
    "settlements": [
     {
      "operation_id": "358caab80343c11b4ac4f572c04c921c71e9e7911e3b0d86dce97298d446d21b",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.2222",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-13T16:23:01.924Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/inter-milan/champions-league/preview/inter-milan-vs-brugge-prediction-team-news-lineups_606669.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 3-1 Club Brugge KV"
   }
  },
  {
   "record_id": "n-395075185ab4b694dfec0276",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-395075185ab4b694dfec0276",
   "match": "Torino v Udinese",
   "match_url": "/football/matches/torino-vs-udinese-2026-10-12/",
   "kickoff": "2026-10-12T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 57.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Torino 1-2 Udinese",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T08:57:02.000Z",
   "recorded_at": "2026-10-10T09:20:24.034Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3300",
    "result": "Won",
    "points_hundredths": 13300,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-395075185ab4b694dfec0276",
    "quote_text": "We say: Torino 1-2 Udinese",
    "fragment_from": 4241,
    "fragment_to": 4267,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-udinese-prediction-team-news-lineups_606614.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "589f71ed806dc7456addb4e0fbdccb5f536989728129e01cfa4ddd064e447672",
     "material_removed": false
    },
    "published_at": "2026-10-10T08:57:02.000Z",
    "detected_at": "2026-10-10T09:20:24.034Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63a23007668d",
     "display_name": "Torino — Udinese",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T18:45:00.000Z",
     "url": "/football/matches/torino-vs-udinese-2026-10-12/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Torino 1-2 Udinese",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T08:57:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T08:57:02.000Z",
     "detected_at": "2026-10-10T09:20:24.034Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Torino 1-2 Udinese",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Torino 1-2 Udinese"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Torino 2-1 Udinese."
    },
    "settlements": [
     {
      "operation_id": "b24ebe6e6e8c0517dec599183d759f954d81881c22bc3189f2ddb0e58e88b35e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Udinese",
      "decimal_odds": "3.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:10:45.251Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/torino/preview/torino-vs-udinese-prediction-team-news-lineups_606614.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Torino 1-2 Udinese"
   }
  },
  {
   "record_id": "n-6a92bc3cbdd59d4b19669ffe",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-6a92bc3cbdd59d4b19669ffe",
   "match": "Atalanta v Venezia",
   "match_url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
   "kickoff": "2026-10-12T16:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 56.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Atalanta 1-0 Venezia",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T07:20:58.000Z",
   "recorded_at": "2026-10-10T08:19:34.141Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5650",
    "result": "Won",
    "points_hundredths": 5650,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-6a92bc3cbdd59d4b19669ffe",
    "quote_text": "We say: Atalanta BC 1-0 Venezia",
    "fragment_from": 4306,
    "fragment_to": 4337,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/atalanta-bc/preview/atalanta-vs-venezia-prediction-team-news-lineups_606609.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cd3bf9b281984d62fb34a98b47841629d58dfca9782329182da6511c2d85603f",
     "material_removed": false
    },
    "published_at": "2026-10-10T07:20:58.000Z",
    "detected_at": "2026-10-10T08:19:34.141Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8702b9f6aca5",
     "display_name": "Atalanta — Venezia",
     "competition_name": "Serie A",
     "starts_at": "2026-10-12T16:30:00.000Z",
     "url": "/football/matches/atalanta-vs-venezia-2026-10-12/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Atalanta 1-0 Venezia",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T07:20:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T07:20:58.000Z",
     "detected_at": "2026-10-10T08:19:34.141Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Atalanta 1-0 Venezia",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Atalanta 1-0 Venezia"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Atalanta 3-1 Venezia."
    },
    "settlements": [
     {
      "operation_id": "cc0fa715cdb76d3fc3ed2a33b2ed3695960830f4f02bcbd204e0838edef80686",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Atalanta",
      "decimal_odds": "1.5650",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5650,
      "executed_at": "2026-10-24T09:48:07.576Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/atalanta-bc/preview/atalanta-vs-venezia-prediction-team-news-lineups_606609.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atalanta 1-0 Venezia"
   }
  },
  {
   "record_id": "n-ae21d497baeaa175566b7bfa",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-ae21d497baeaa175566b7bfa",
   "match": "Cagliari v Juventus",
   "match_url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
   "kickoff": "2026-10-11T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 52.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cagliari 0-1 Juventus",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T13:57:11.000Z",
   "recorded_at": "2026-10-09T14:03:20.051Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.5556",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ae21d497baeaa175566b7bfa",
    "quote_text": "We say: Cagliari 0-1 Juventus",
    "fragment_from": 4079,
    "fragment_to": 4108,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cagliari/preview/cagliari-vs-juventus-prediction-team-news-lineups_606558.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "55aa0886f59476651aa6f92ee82fea2ededf7a1f6ba04778bbcfb6e010f28bab",
     "material_removed": false
    },
    "published_at": "2026-10-09T13:57:11.000Z",
    "detected_at": "2026-10-09T14:03:20.051Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c6ff28609cbc",
     "display_name": "Cagliari — Juventus",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T18:45:00.000Z",
     "url": "/football/matches/cagliari-vs-juventus-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cagliari 0-1 Juventus",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T13:57:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T13:57:11.000Z",
     "detected_at": "2026-10-09T14:03:20.051Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Cagliari 0-1 Juventus",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cagliari 0-1 Juventus"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Cagliari 1-1 Juventus."
    },
    "settlements": [
     {
      "operation_id": "d9224c449e1909b65b9c38abd031518649e3252549a30f8a82f7d84ba1348651",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Juventus",
      "decimal_odds": "1.5556",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:35:05.860Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/cagliari/preview/cagliari-vs-juventus-prediction-team-news-lineups_606558.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cagliari 0-1 Juventus"
   }
  },
  {
   "record_id": "n-6f11b7cacd9f7ad2c4b23179",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-6f11b7cacd9f7ad2c4b23179",
   "match": "Sassuolo v AC Milan",
   "match_url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
   "kickoff": "2026-10-11T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sassuolo 2-2 AC Milan",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T12:35:51.000Z",
   "recorded_at": "2026-10-09T13:02:09.050Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.8000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-6f11b7cacd9f7ad2c4b23179",
    "quote_text": "We say: Sassuolo 2-2 AC Milan",
    "fragment_from": 4088,
    "fragment_to": 4117,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/sassuolo/preview/sassuolo-vs-ac-milan-prediction-team-news-lineups_606552.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "08400e2aa7c25d637ca05ee6714d9ae0989e1c46367b68eb79424e29d7b032d8",
     "material_removed": false
    },
    "published_at": "2026-10-09T12:35:51.000Z",
    "detected_at": "2026-10-09T13:02:09.050Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6daf1549fb1e",
     "display_name": "Sassuolo — AC Milan",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T16:00:00.000Z",
     "url": "/football/matches/sassuolo-vs-ac-milan-2026-10-11/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sassuolo 2-2 AC Milan",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T12:35:51.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T12:35:51.000Z",
     "detected_at": "2026-10-09T13:02:09.050Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Sassuolo 2-2 AC Milan",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sassuolo 2-2 AC Milan"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Sassuolo 1-1 AC Milan."
    },
    "settlements": [
     {
      "operation_id": "78dbdad16898eb22dd5bb7f6a1556160f7b0a7c2becd94ec5115084827874123",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.7000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 27000,
      "executed_at": "2026-10-10T23:35:06.904Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/sassuolo/preview/sassuolo-vs-ac-milan-prediction-team-news-lineups_606552.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sassuolo 2-2 AC Milan"
   }
  },
  {
   "record_id": "n-ac2486e1ab0cb9bc2136b044",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-ac2486e1ab0cb9bc2136b044",
   "match": "Lazio v Monza",
   "match_url": "/football/matches/lazio-vs-monza-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 52.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lazio 2-0 Monza",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T07:56:00.000Z",
   "recorded_at": "2026-10-09T08:05:22.863Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5882",
    "result": "Won",
    "points_hundredths": 5882,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ac2486e1ab0cb9bc2136b044",
    "quote_text": "We say: Lazio 2-0 Monza",
    "fragment_from": 3796,
    "fragment_to": 3819,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-monza-prediction-team-news-lineups_606532.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6395e3010f014c45021b3c1ef38625321806b793c0356fb3a236eb500fdcf274",
     "material_removed": false
    },
    "published_at": "2026-10-09T07:56:00.000Z",
    "detected_at": "2026-10-09T08:05:22.863Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4dc10c72315f",
     "display_name": "Lazio — Monza",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/lazio-vs-monza-2026-10-11/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lazio 2-0 Monza",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T07:56:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T07:56:00.000Z",
     "detected_at": "2026-10-09T08:05:22.863Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Lazio 2-0 Monza",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lazio 2-0 Monza"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Lazio 3-1 Monza."
    },
    "settlements": [
     {
      "operation_id": "66254f6ca84028a6e1f637faba51e14bc808d23cf6321481c0de83e388826016",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lazio",
      "decimal_odds": "1.5882",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5882,
      "executed_at": "2026-10-10T23:35:07.160Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/lazio/preview/lazio-vs-monza-prediction-team-news-lineups_606532.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lazio 2-0 Monza"
   }
  },
  {
   "record_id": "n-4801e66ffd2b8b1d1e1f6368",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-4801e66ffd2b8b1d1e1f6368",
   "match": "Como v AS Roma",
   "match_url": "/football/matches/como-vs-as-roma-2026-10-11/",
   "kickoff": "2026-10-11T10:30:00.000Z",
   "competition": "Serie A",
   "lead_hours": 42.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Como 1-1 AS Roma",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T15:38:00.000Z",
   "recorded_at": "2026-10-09T16:01:36.924Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.5500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4801e66ffd2b8b1d1e1f6368",
    "quote_text": "We say: Como 1-1 Roma",
    "fragment_from": 4249,
    "fragment_to": 4270,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-roma-prediction-team-news-lineups_606566.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "58870823652c178a8468762c609d3fc79c9755906cdc2ac4b6b49bac3fe8cbbe",
     "material_removed": false
    },
    "published_at": "2026-10-09T15:38:00.000Z",
    "detected_at": "2026-10-09T16:01:36.924Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7674778c71d5",
     "display_name": "Como — AS Roma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-11T10:30:00.000Z",
     "url": "/football/matches/como-vs-as-roma-2026-10-11/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Como 1-1 AS Roma",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T15:38:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T15:38:00.000Z",
     "detected_at": "2026-10-09T16:01:36.924Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Como 1-1 AS Roma",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Como 1-1 AS Roma"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Como 0-0 AS Roma."
    },
    "settlements": [
     {
      "operation_id": "5c7f8a1da155b38f49a1b016238f610333a21a2e236fee55479adaa2be773cd1",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 25000,
      "executed_at": "2026-10-10T23:35:05.076Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/como/preview/como-vs-roma-prediction-team-news-lineups_606566.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Como 1-1 AS Roma"
   }
  },
  {
   "record_id": "n-ba275dc980d7c2c925b200d6",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-ba275dc980d7c2c925b200d6",
   "match": "SSC Napoli v Frosinone",
   "match_url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Serie A",
   "lead_hours": 51.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SSC Napoli 2-1 Frosinone",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T14:16:00.000Z",
   "recorded_at": "2026-10-08T15:09:31.267Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.4405",
    "result": "Won",
    "points_hundredths": 4405,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ba275dc980d7c2c925b200d6",
    "quote_text": "We say: Napoli 2-1 Frosinone",
    "fragment_from": 4394,
    "fragment_to": 4422,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-frosinone-prediction-team-news-lineups_606474.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "eb87e208e875ceb4c2a55d609d13261324e8a7c59f6f5ef34ad3261f3b9837b6",
     "material_removed": false
    },
    "published_at": "2026-10-08T14:16:00.000Z",
    "detected_at": "2026-10-08T15:09:31.267Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f48d1ed42fc3",
     "display_name": "SSC Napoli — Frosinone",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/ssc-napoli-vs-frosinone-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SSC Napoli 2-1 Frosinone",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-08T14:16:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T14:16:00.000Z",
     "detected_at": "2026-10-08T15:09:31.267Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "SSC Napoli 2-1 Frosinone",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SSC Napoli 2-1 Frosinone"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was SSC Napoli 3-0 Frosinone."
    },
    "settlements": [
     {
      "operation_id": "d12a967a69afab89dbba293b3489157b62a4675e85eb7fd1f470e490bac979ab",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "SSC Napoli",
      "decimal_odds": "1.4405",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4405,
      "executed_at": "2026-10-10T23:35:08.931Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/napoli/preview/napoli-vs-frosinone-prediction-team-news-lineups_606474.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SSC Napoli 2-1 Frosinone"
   }
  },
  {
   "record_id": "n-b0b5f64aaf25c3e1323d0161",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-b0b5f64aaf25c3e1323d0161",
   "match": "Inter v Parma",
   "match_url": "/football/matches/inter-vs-parma-2026-10-10/",
   "kickoff": "2026-10-10T16:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 47.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter 3-0 Parma",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T15:44:00.000Z",
   "recorded_at": "2026-10-08T16:07:13.165Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.1300",
    "result": "Won",
    "points_hundredths": 1300,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b0b5f64aaf25c3e1323d0161",
    "quote_text": "We say: Inter Milan 3-0 Parma",
    "fragment_from": 4386,
    "fragment_to": 4415,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-parma-prediction-team-news-lineups_606482.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6827e63b93f0e476609c4900f68a38d492d1ffe0a0efdefe623c947467d87443",
     "material_removed": false
    },
    "published_at": "2026-10-08T15:44:00.000Z",
    "detected_at": "2026-10-08T16:07:13.165Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e2d306934e5f",
     "display_name": "Inter — Parma",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T16:00:00.000Z",
     "url": "/football/matches/inter-vs-parma-2026-10-10/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter 3-0 Parma",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-08T15:44:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T15:44:00.000Z",
     "detected_at": "2026-10-08T16:07:13.165Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter 3-0 Parma",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter 3-0 Parma"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Inter 3-0 Parma."
    },
    "settlements": [
     {
      "operation_id": "5a40a964400addd4a624126b479d200b5500b0315e6fa8a08b72ea38835bc29d",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter",
      "decimal_odds": "1.1315",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 1315,
      "executed_at": "2026-10-10T23:35:08.836Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/inter-milan/preview/inter-milan-vs-parma-prediction-team-news-lineups_606482.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter 3-0 Parma"
   }
  },
  {
   "record_id": "n-96a14cf1420aa072524c4b1f",
   "url": "/authors/jonathan-o-shea/picks/2/#pick-n-96a14cf1420aa072524c4b1f",
   "match": "Genoa v Fiorentina",
   "match_url": "/football/matches/genoa-vs-fiorentina-2026-10-10/",
   "kickoff": "2026-10-10T13:00:00.000Z",
   "competition": "Serie A",
   "lead_hours": 47.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Genoa 1-2 Fiorentina",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T12:45:20.000Z",
   "recorded_at": "2026-10-08T13:07:03.556Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.2800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-96a14cf1420aa072524c4b1f",
    "quote_text": "We say: Genoa 1-2 Fiorentina",
    "fragment_from": 4069,
    "fragment_to": 4097,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-fiorentina-prediction-team-news-lineups_606383.html",
     "display_name": null,
     "speaker": "Jonathan O'Shea",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9b1934ad41a81b95203edb9ed0b5d881c52db64767db4149604a901a246f0d30",
     "material_removed": false
    },
    "published_at": "2026-10-08T12:45:20.000Z",
    "detected_at": "2026-10-08T13:07:03.556Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-57988c8ebab7",
     "display_name": "Genoa — Fiorentina",
     "competition_name": "Serie A",
     "starts_at": "2026-10-10T13:00:00.000Z",
     "url": "/football/matches/genoa-vs-fiorentina-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Genoa 1-2 Fiorentina",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-08T12:45:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T12:45:20.000Z",
     "detected_at": "2026-10-08T13:07:03.556Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Genoa 1-2 Fiorentina",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Genoa 1-2 Fiorentina"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Genoa 2-1 Fiorentina."
    },
    "settlements": [
     {
      "operation_id": "b74a238e8aed572e786c3dbc1b68c3c1533a47849fd39b7b857baefef168b311",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Fiorentina",
      "decimal_odds": "2.2800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:35:09.093Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Jonathan O'Shea",
     "publisher": "Sports Mole",
     "forecaster": "Jonathan O'Shea",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/genoa/preview/genoa-vs-fiorentina-prediction-team-news-lineups_606383.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Genoa 1-2 Fiorentina"
   }
  },
  {
   "record_id": "n-fa9a2d8804072537e8187917",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: AC Milan 2-1 Ferencvaros",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-03T15:12:00.000Z",
   "recorded_at": "2026-11-03T16:10:11.600Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-384a099065825ea8b19adcf1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: LASK Linz 3-2 Slovan Bratislava",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-01T12:10:00.000Z",
   "recorded_at": "2026-11-01T13:10:38.863Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-50632a67f1c039dadce301ec",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Fiorentina 1-2 Como",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T09:15:31.000Z",
   "recorded_at": "2026-10-16T10:09:50.053Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-0207815db9dea7e936af1681",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Udinese 1-0 Lecce",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T07:45:00.000Z",
   "recorded_at": "2026-10-16T08:09:47.504Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-dda356932d8556160ee395c8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Italy 2-0 Turkey",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T06:40:42.000Z",
   "recorded_at": "2026-10-03T07:07:43.554Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-1a032e338cb0452935e05e46",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Republic of Ireland 2-1 Israel",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T08:51:57.000Z",
   "recorded_at": "2026-10-02T09:09:02.197Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-efc13afac84451f6ac6368d4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Kosovo 1-2 Austria",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T07:30:00.000Z",
   "recorded_at": "2026-10-02T08:02:56.500Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-d0adbafe10da2d754d8dcce7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: North Macedonia 0-1 Scotland",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T17:45:44.000Z",
   "recorded_at": "2026-10-01T18:02:49.419Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-177ded6795f2b0c014609bef",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Switzerland 3-1 Slovenia",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T16:21:23.000Z",
   "recorded_at": "2026-10-01T17:02:43.115Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-96712e727c4f8d423eef19ab",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: France 2-1 Italy",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-30T14:29:00.000Z",
   "recorded_at": "2026-09-30T15:07:53.357Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-db335588cfd83f79da767766",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Republic of Ireland 2-2 Austria",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-29T14:38:00.000Z",
   "recorded_at": "2026-09-29T15:08:08.291Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-f2f642268c90ba6629aafae4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Israel 1-2 Kosovo",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-29T13:57:02.000Z",
   "recorded_at": "2026-09-29T14:05:49.185Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-7f7aa01abe8befa7bc3cbe53",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "their first contest is set to end in a draw",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-25T12:50:00.000Z",
   "recorded_at": "2026-09-27T01:13:41.315Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, RSS feed",
   "correction": null
  },
  {
   "record_id": "n-87c79a6bd094051295da90dd",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Israel 1-1 Republic of Ireland",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-25T12:50:00.000Z",
   "recorded_at": "2026-09-27T01:13:41.315Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, RSS feed",
   "correction": null
  },
  {
   "record_id": "n-95b4f7596ac5114eb31cf940",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Austria 2-1 Kosovo",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-25T07:51:49.000Z",
   "recorded_at": "2026-09-25T21:09:57.124Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole, RSS feed",
   "correction": null
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 60,
  "before_kickoff": 60,
  "after_kickoff": 0,
  "at_least_2h": 60,
  "share_2h_plus": 100.0,
  "median_hours": 50.7,
  "min_hours": 2.9,
  "max_hours": 58.6,
  "words": "Hours between the moment we recorded the pick and kick-off; the share counts picks recorded at least two hours before kick-off."
 },
 "baseline": {
  "contract_version": 1,
  "series_code": "market_price",
  "rule": "recorded-line-1.0",
  "state": "settled",
  "picks": 52,
  "settled_picks_all": 54,
  "excluded": {
   "market_without_favourite": 1,
   "no_recorded_line": 1,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 520000,
  "author_net_hundredths": -4857,
  "favourite_net_hundredths": 130014,
  "difference_hundredths": -134871,
  "author_return_percent": -0.93,
  "favourite_return_percent": 25.0,
  "author_hit_rate": 53.8,
  "favourite_hit_rate": 71.2,
  "picked_favourite_share": 67.3,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 52,
    "staked_hundredths": 520000,
    "author_net_hundredths": -4857,
    "favourite_net_hundredths": 130014,
    "author_hits": 28,
    "favourite_hits": 37,
    "picked_favourite": 35,
    "author_return_percent": -0.93,
    "favourite_return_percent": 25.0
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-10T13:00:00.000Z",
    "author_cumulative_hundredths": -10000,
    "favourite_cumulative_hundredths": -10000
   },
   {
    "kickoff": "2026-10-10T16:00:00.000Z",
    "author_cumulative_hundredths": -8685,
    "favourite_cumulative_hundredths": -8700
   },
   {
    "kickoff": "2026-10-10T18:45:00.000Z",
    "author_cumulative_hundredths": -4280,
    "favourite_cumulative_hundredths": -4295
   },
   {
    "kickoff": "2026-10-11T10:30:00.000Z",
    "author_cumulative_hundredths": 20720,
    "favourite_cumulative_hundredths": -14295
   },
   {
    "kickoff": "2026-10-11T13:00:00.000Z",
    "author_cumulative_hundredths": 26602,
    "favourite_cumulative_hundredths": -8413
   },
   {
    "kickoff": "2026-10-11T16:00:00.000Z",
    "author_cumulative_hundredths": 53602,
    "favourite_cumulative_hundredths": -18413
   },
   {
    "kickoff": "2026-10-11T18:45:00.000Z",
    "author_cumulative_hundredths": 43602,
    "favourite_cumulative_hundredths": -28413
   },
   {
    "kickoff": "2026-10-12T16:30:00.000Z",
    "author_cumulative_hundredths": 49252,
    "favourite_cumulative_hundredths": -22763
   },
   {
    "kickoff": "2026-10-12T18:45:00.000Z",
    "author_cumulative_hundredths": 39252,
    "favourite_cumulative_hundredths": -9463
   },
   {
    "kickoff": "2026-10-13T19:00:00.000Z",
    "author_cumulative_hundredths": 29252,
    "favourite_cumulative_hundredths": -19463
   },
   {
    "kickoff": "2026-10-13T19:00:00.000Z",
    "author_cumulative_hundredths": 19252,
    "favourite_cumulative_hundredths": -7563
   },
   {
    "kickoff": "2026-10-14T19:00:00.000Z",
    "author_cumulative_hundredths": 27852,
    "favourite_cumulative_hundredths": 1137
   },
   {
    "kickoff": "2026-10-15T16:45:00.000Z",
    "author_cumulative_hundredths": 17852,
    "favourite_cumulative_hundredths": 9137
   },
   {
    "kickoff": "2026-10-15T19:00:00.000Z",
    "author_cumulative_hundredths": 28852,
    "favourite_cumulative_hundredths": 20137
   },
   {
    "kickoff": "2026-10-16T18:45:00.000Z",
    "author_cumulative_hundredths": 18852,
    "favourite_cumulative_hundredths": 35137
   },
   {
    "kickoff": "2026-10-17T13:00:00.000Z",
    "author_cumulative_hundredths": 8852,
    "favourite_cumulative_hundredths": 25137
   },
   {
    "kickoff": "2026-10-17T16:00:00.000Z",
    "author_cumulative_hundredths": 14666,
    "favourite_cumulative_hundredths": 30951
   },
   {
    "kickoff": "2026-10-17T18:45:00.000Z",
    "author_cumulative_hundredths": 19071,
    "favourite_cumulative_hundredths": 35356
   },
   {
    "kickoff": "2026-10-18T16:00:00.000Z",
    "author_cumulative_hundredths": 27071,
    "favourite_cumulative_hundredths": 43356
   },
   {
    "kickoff": "2026-10-18T18:45:00.000Z",
    "author_cumulative_hundredths": 17071,
    "favourite_cumulative_hundredths": 33356
   },
   {
    "kickoff": "2026-10-19T16:30:00.000Z",
    "author_cumulative_hundredths": 7071,
    "favourite_cumulative_hundredths": 47156
   },
   {
    "kickoff": "2026-10-19T18:45:00.000Z",
    "author_cumulative_hundredths": 20771,
    "favourite_cumulative_hundredths": 60856
   },
   {
    "kickoff": "2026-10-20T19:00:00.000Z",
    "author_cumulative_hundredths": 22271,
    "favourite_cumulative_hundredths": 62256
   },
   {
    "kickoff": "2026-10-20T19:00:00.000Z",
    "author_cumulative_hundredths": 12271,
    "favourite_cumulative_hundredths": 68173
   },
   {
    "kickoff": "2026-10-21T19:00:00.000Z",
    "author_cumulative_hundredths": 14158,
    "favourite_cumulative_hundredths": 70060
   },
   {
    "kickoff": "2026-10-22T16:45:00.000Z",
    "author_cumulative_hundredths": 4158,
    "favourite_cumulative_hundredths": 60060
   },
   {
    "kickoff": "2026-10-22T19:00:00.000Z",
    "author_cumulative_hundredths": -5842,
    "favourite_cumulative_hundredths": 71310
   },
   {
    "kickoff": "2026-10-23T18:45:00.000Z",
    "author_cumulative_hundredths": 5158,
    "favourite_cumulative_hundredths": 82310
   },
   {
    "kickoff": "2026-10-24T13:00:00.000Z",
    "author_cumulative_hundredths": 10158,
    "favourite_cumulative_hundredths": 87310
   },
   {
    "kickoff": "2026-10-24T16:00:00.000Z",
    "author_cumulative_hundredths": 158,
    "favourite_cumulative_hundredths": 77310
   },
   {
    "kickoff": "2026-10-24T18:45:00.000Z",
    "author_cumulative_hundredths": 4158,
    "favourite_cumulative_hundredths": 81310
   },
   {
    "kickoff": "2026-10-25T11:30:00.000Z",
    "author_cumulative_hundredths": 7658,
    "favourite_cumulative_hundredths": 84810
   },
   {
    "kickoff": "2026-10-25T14:00:00.000Z",
    "author_cumulative_hundredths": 37658,
    "favourite_cumulative_hundredths": 74810
   },
   {
    "kickoff": "2026-10-25T17:00:00.000Z",
    "author_cumulative_hundredths": 42208,
    "favourite_cumulative_hundredths": 79360
   },
   {
    "kickoff": "2026-10-25T19:45:00.000Z",
    "author_cumulative_hundredths": 32208,
    "favourite_cumulative_hundredths": 86060
   },
   {
    "kickoff": "2026-10-27T19:45:00.000Z",
    "author_cumulative_hundredths": 39158,
    "favourite_cumulative_hundredths": 93010
   },
   {
    "kickoff": "2026-10-27T19:45:00.000Z",
    "author_cumulative_hundredths": 42458,
    "favourite_cumulative_hundredths": 96310
   },
   {
    "kickoff": "2026-10-28T17:30:00.000Z",
    "author_cumulative_hundredths": 45858,
    "favourite_cumulative_hundredths": 99710
   },
   {
    "kickoff": "2026-10-28T17:30:00.000Z",
    "author_cumulative_hundredths": 35858,
    "favourite_cumulative_hundredths": 89710
   },
   {
    "kickoff": "2026-10-28T19:45:00.000Z",
    "author_cumulative_hundredths": 43558,
    "favourite_cumulative_hundredths": 97410
   },
   {
    "kickoff": "2026-10-28T19:45:00.000Z",
    "author_cumulative_hundredths": 33558,
    "favourite_cumulative_hundredths": 87410
   },
   {
    "kickoff": "2026-10-29T17:30:00.000Z",
    "author_cumulative_hundredths": 40558,
    "favourite_cumulative_hundredths": 94410
   },
   {
    "kickoff": "2026-10-29T19:45:00.000Z",
    "author_cumulative_hundredths": 30558,
    "favourite_cumulative_hundredths": 84410
   },
   {
    "kickoff": "2026-10-31T19:45:00.000Z",
    "author_cumulative_hundredths": 20558,
    "favourite_cumulative_hundredths": 74410
   },
   {
    "kickoff": "2026-11-01T11:30:00.000Z",
    "author_cumulative_hundredths": 23543,
    "favourite_cumulative_hundredths": 77395
   },
   {
    "kickoff": "2026-11-01T19:45:00.000Z",
    "author_cumulative_hundredths": 13543,
    "favourite_cumulative_hundredths": 89895
   },
   {
    "kickoff": "2026-11-03T20:00:00.000Z",
    "author_cumulative_hundredths": 3543,
    "favourite_cumulative_hundredths": 97414
   },
   {
    "kickoff": "2026-11-04T20:00:00.000Z",
    "author_cumulative_hundredths": 15143,
    "favourite_cumulative_hundredths": 109014
   },
   {
    "kickoff": "2026-11-04T20:00:00.000Z",
    "author_cumulative_hundredths": 25143,
    "favourite_cumulative_hundredths": 119014
   },
   {
    "kickoff": "2026-11-05T20:00:00.000Z",
    "author_cumulative_hundredths": 15143,
    "favourite_cumulative_hundredths": 128514
   },
   {
    "kickoff": "2026-11-06T19:45:00.000Z",
    "author_cumulative_hundredths": 5143,
    "favourite_cumulative_hundredths": 140014
   },
   {
    "kickoff": "2026-11-07T14:00:00.000Z",
    "author_cumulative_hundredths": -4857,
    "favourite_cumulative_hundredths": 130014
   }
  ],
  "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": 75,
  "pages": 5,
  "page_urls": [
   "/authors/jonathan-o-shea/",
   "/authors/jonathan-o-shea/picks/2/",
   "/authors/jonathan-o-shea/picks/3/",
   "/authors/jonathan-o-shea/picks/4/",
   "/authors/jonathan-o-shea/picks/5/"
  ],
  "groups": {
   "settled": 1,
   "pending": 0,
   "excluded": 74
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/jonathan-o-shea/",
  "current": false
 },
 "title_tag": "Jonathan O'Shea Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-4a4c3d0d1d8abc763e97c466",
  "type_code": "individual",
  "name_shown": "Jonathan O'Shea",
  "main_entity": "e-4a4c3d0d1d8abc763e97c466",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-4a4c3d0d1d8abc763e97c466",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Jonathan O'Shea",
    "url": "/sources/sports-mole/",
    "summary": {
     "statements": 286,
     "predictions": 69,
     "settled_picks": 1,
     "headline_kind": "live_snapshot",
     "return_percent": -100.0,
     "headline_part": "live",
     "period_from": "2026-09-29",
     "period_to": "2026-11-07"
    }
   },
   {
    "entity_ref": "e-37e729ed7751e2b5c5b518f8",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Jonathan O'Shea",
    "url": null,
    "summary": {
     "statements": 38,
     "predictions": 7,
     "settled_picks": 0,
     "headline_kind": null,
     "return_percent": null,
     "headline_part": null,
     "period_from": "2026-09-25",
     "period_to": "2026-11-07"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-11-01.3",
  "updated": "2026-11-01",
  "current_release": "2026-11-07.2",
  "data_as_of": "2026-11-07",
  "method_version": "2.2",
  "price_rule": "independent odds snapshot",
  "series_code": "market_price",
  "sample": {
   "settled_picks": 1,
   "matches": 1,
   "void": 0,
   "period_from": "2026-11-01",
   "period_to": "2026-11-01",
   "composition_hash": "5e6bdaceb09bd8f14dca3010d3e23c40e761c0bfbb0c5faca07fe71bf635063c"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-66546687e13475203a60",
   "at": "2026-11-01T19:56:40.745Z",
   "data_version": "2026-11-01.3",
   "previous_data_version": "2026-11-01.2",
   "url": "/authors/jonathan-o-shea/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": null,
   "after": {
    "data_version": "2026-11-01.3",
    "return_percent": "-100.00",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "5e6bdaceb09bd8f14dca3010d3e23c40e761c0bfbb0c5faca07fe71bf635063c",
    "text": "−100.00 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "reason": "First headline number for this record: 1 settled pick in the series “independent odds snapshot”.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 1,
    "total_check": true,
    "market_list": [
     {
      "code_name": "correct_score_market",
      "in_words": "Correct score",
      "url": null,
      "settled_picks": 1,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -10000,
      "return_percent": "-100.0",
      "period_from": "2026-11-01",
      "period_to": "2026-11-01",
      "small_sample": true,
      "average_odds": "11.50",
      "odds_from_author": 0,
      "odds_from_snapshot": 1
     }
    ],
    "leagues": [
     {
      "code_name": "Serie A",
      "in_words": "Serie A",
      "url": "/football/competitions/serie-a/",
      "settled_picks": 1,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -10000,
      "return_percent": "-100.0",
      "period_from": "2026-11-01",
      "period_to": "2026-11-01",
      "small_sample": true,
      "average_odds": "11.50",
      "odds_from_author": 0,
      "odds_from_snapshot": 1,
      "league_markets": [
       {
        "code_name": "correct_score_market",
        "in_words": "Correct score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-01",
        "period_to": "2026-11-01",
        "small_sample": true,
        "average_odds": "11.50",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     }
    ],
    "best_slice": null
   }
  ],
  "best_slice": null
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 25 September 2026 · 75 predictions · last change 7 November 2026",
  "url": "https://forecastrecord.com/authors/jonathan-o-shea/",
  "s": "2026-09-25",
  "prediction_count": 75,
  "refreshed_at": "2026-11-07",
  "html": "<a href=\"https://forecastrecord.com/authors/jonathan-o-shea/\">Record tracked by Forecast Record since 25 September 2026 · 75 predictions · last change 7 November 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 54,
  "days": 29,
  "weeks": 5,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 4,
  "first_settled_on": "2026-10-10",
  "products_in_level": 1,
  "rule": {
   "tracked": {
    "min_settled": 30,
    "min_days": 30,
    "min_distinct_weeks": 2,
    "no_violations": true
   },
   "established": {
    "min_settled": 100,
    "min_days": 90
   }
  },
  "show": true
 },
 "colleagues": [
  {
   "source_code": "sports-mole",
   "source_name": "Sports Mole",
   "source_url": "/sources/sports-mole/",
   "label": "Also at Sports Mole",
   "authors_total": 24,
   "authors": [
    {
     "name": "Saikat Mandal",
     "url": "/authors/saikat-mandal/",
     "headline_part": "live",
     "settled_picks": 57,
     "return_percent": "32.5",
     "small_sample": false,
     "average_odds": "2.21",
     "odds_from_author": 56,
     "odds_from_snapshot": 1
    },
    {
     "name": "Lewis Nolan",
     "url": "/authors/lewis-nolan/",
     "headline_part": "live",
     "settled_picks": 47,
     "return_percent": "-55.1",
     "small_sample": false,
     "average_odds": "2.22",
     "odds_from_author": 47,
     "odds_from_snapshot": 0
    },
    {
     "name": "Adeyeye Oluwapelumi",
     "url": "/authors/adeyeye-oluwapelumi/",
     "headline_part": "live",
     "settled_picks": 33,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Joshua Cole",
     "url": "/authors/joshua-cole/",
     "headline_part": "live",
     "settled_picks": 32,
     "return_percent": "-40.1",
     "small_sample": false,
     "average_odds": "2.26",
     "odds_from_author": 32,
     "odds_from_snapshot": 0
    },
    {
     "name": "Marvellous Adepoju",
     "url": "/authors/marvellous-adepoju/",
     "headline_part": "live",
     "settled_picks": 25,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Byron David",
     "url": "/authors/byron-david/",
     "headline_part": "live",
     "settled_picks": 24,
     "return_percent": "19.7",
     "small_sample": false,
     "average_odds": "2.09",
     "odds_from_author": 24,
     "odds_from_snapshot": 0
    },
    {
     "name": "Joshua Ojele",
     "url": "/authors/joshua-ojele/",
     "headline_part": "live",
     "settled_picks": 18,
     "return_percent": "-14.8",
     "small_sample": false,
     "average_odds": "1.69",
     "odds_from_author": 16,
     "odds_from_snapshot": 2
    },
    {
     "name": "Calum Burrowes",
     "url": "/authors/calum-burrowes/",
     "headline_part": "live",
     "settled_picks": 15,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Matt Law",
     "url": "/authors/matt-law/",
     "headline_part": "live",
     "settled_picks": 13,
     "return_percent": "-76.7",
     "small_sample": false,
     "average_odds": "7.90",
     "odds_from_author": 0,
     "odds_from_snapshot": 13
    },
    {
     "name": "Sam Varley",
     "url": "/authors/sam-varley/",
     "headline_part": "live",
     "settled_picks": 11,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Darren Plant",
     "url": "/authors/darren-plant/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "5.46",
     "odds_from_author": 0,
     "odds_from_snapshot": 6
    },
    {
     "name": "Oliver Thomas",
     "url": "/authors/oliver-thomas/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    }
   ]
  }
 ],
 "author_type": "Pundit",
 "data_changes": {
  "added_later": null,
  "records_corrected": 0,
  "last_correction_at": null,
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-4a4c3d0d1d8abc763e97c466",
 "source_revision": 145,
 "related": [
  {
   "url": "/cards/e-4a4c3d0d1d8abc763e97c466-bank/",
   "name": "Bankroll card — Jonathan O'Shea",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-4a4c3d0d1d8abc763e97c466-month-following/",
   "name": "A month following Jonathan O'Shea",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-4a4c3d0d1d8abc763e97c466-said-vs-happened/",
   "name": "Said → happened — Jonathan O'Shea",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/jonathan-o-shea/",
   "name": "Your titles on Forecast Record: Jonathan O'Shea",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 1,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 75,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 75,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 1,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 54,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 1,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  },
  {
   "set": "profile.checked",
   "entity": "e-4a4c3d0d1d8abc763e97c466",
   "value": 54,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
