{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/jonathan-o-shea/picks/4/",
 "canonical": "/authors/jonathan-o-shea/picks/4/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Jonathan O'Shea — football predictions, page 4 of 5",
 "description": "Predictions 41–60 of 75 by Jonathan O'Shea, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 4 of 5 of the predictions by Jonathan O'Shea recorded by Forecast Record: predictions 41–60 of 75 in the order we recorded them, earliest first; as of 7 November 2026. Each row links to its evidence, and the summary of the record is on the profile page.",
  "key_number": "75",
  "data": "2026-11-07",
  "source_info": "our own evidence archive",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "technical",
 "indexing_threshold": {
  "settled_count": 0,
  "date_count": 0,
  "required_settled": 0,
  "required_dates": 0
 },
 "data_date": "2026-11-07T17:54:46.357Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "63cd7ddac25085163dabb76b2da8a0cc1f2edab0605ac3f13a9cbfe1138e320e",
 "dependency_group": "author:e-4a4c3d0d1d8abc763e97c466",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/jonathan-o-shea/picks/4/index.json",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": false,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": null,
 "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
 },
 "recorded_picks": [
  {
   "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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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"
   }
  }
 ],
 "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": 4,
  "first": 41,
  "last": 60,
  "author_url": "/authors/jonathan-o-shea/",
  "current": false
 },
 "entity_id": "history:/authors/jonathan-o-shea/picks/4/",
 "source_revision": 27
}
